Make sure we're using performBlock and performBlockAndWait when accessing the sync context.
Move sync change creation and saving to the NSManagedObjectContextWillSaveNotification instead of NSManagedObjectContextDidSaveNotification. This change guarantees that changes will be written out as part of the MOC saving process instead of tacked on afterwards.