A system for managing the synchronization of data, comprising, a centralized management component, a plurality of synchronization handlers registered with the centralized management component, each synchronization handler corresponding to a separate program having data maintained at different locations, the management component receiving a synchronization event, and in response thereto loading at least one of the synchronization handlers, each loaded synchronization handler called by the centralized management component to synchronize the data of its corresponding program.