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 of whether 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.