added the synchronization events; implemented the factory injection mechanism; tested the sync algorithm; added the sync task