1. A machine implemented method comprising: determining whether a first software component is available on a first data processing system, the first software component being configured for causing retrieval and storage of structured data of a first data class as part of a synchronization process; determining, in response to the determining that the first software component is available, whether to synchronize the structured data of the first data class between the first data processing system and a second data processing system; determining a version number of the first software component to determine whether to use the first software component to decide whether and how to synchronize the structured data in the first data class; and obtaining anchors associated with at least one of the first data processing system and the second data processing system to determine a synchronization mode.