     
     // Full sync, replace data in cloud with local
     func performFullSyncFromLocal() {
-        clearDataInCloudKit { error in
-            self.clearData(self.backingContext, entityName: JLCloudKitItem.entityName())
+        wipeDataInCloudKitAndCleanQueue { err in
             self.addAllLocalDataToSyncQueue()
             self.saveBackingContext()
             self.performSyncInternal()

        if set == nil { return 0 }

        return reduce(set!, 0) { (count, object) in
            println("\( object.objectID) \( object.objectID.temporaryID ) ")
            var item = self.fetchSyncItem(object.objectID)
            if item == nil {
                item = JLCloudKitItem(managedObjectContext: self.backingContext)

            self.zoneName = name

            NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("contextDidSave:"), name: NSManagedObjectContextDidSaveNotification, object: self.context)

            dispatch_async(dispatch_get_main_queue()) { completionHandler(error) }
        }
        db.addOperation(operation)
