Move all sync logic into SyncAdapter