         userDefinition.inMemory = false
         
 
-        let lockerDefinition = CollectionMetadatum()
-        lockerDefinition.proxy = self.lockers
-        // By default we group the observation via the rootObjectUID
-        lockerDefinition.collectionName = Locker.collectionName
-        lockerDefinition.storage = CollectionMetadatum.Storage.monolithicFileStorage
-        lockerDefinition.allowDistantPersistency = true
-        lockerDefinition.inMemory = false
-        
-
-        let pushOperationDefinition = CollectionMetadatum()
-        pushOperationDefinition.proxy = self.pushOperations
-        // By default we group the observation via the rootObjectUID
-        pushOperationDefinition.collectionName = PushOperation.collectionName
-        pushOperationDefinition.storage = CollectionMetadatum.Storage.monolithicFileStorage
-        pushOperationDefinition.allowDistantPersistency = false
-        pushOperationDefinition.inMemory = false
-        
-
 
         // Proceed to configuration
         do{
 
-			try self.registryMetadata.configureSchema(userDefinition)
 			try self.registryMetadata.configureSchema(lockerDefinition)
 			try self.registryMetadata.configureSchema(pushOperationDefinition)
+			try self.registryMetadata.configureSchema(userDefinition)
 
         }catch RegistryError.duplicatedCollectionName(let collectionName){
             bprint("Multiple Attempt to add the Collection named \(collectionName)",file:#file,function:#function,line:#line)

		}
	}
	

    // MARK: - Array Controllers and automation (OSX)
 #if os(OSX) && !USE_EMBEDDED_MODULES

            }
            

            
            if keyPath=="selectionIndexes" && self.usersArrayController == object as? NSArrayController {
                if let users = self.usersArrayController?.selectedObjects as? [User] {
                     if let selectedUser = self.selectedUsers{
                        if selectedUser == users{
                            return // No changes
                        }
                     }
                    self.selectedUsers=users
                }
                return
            }
            

        }

    }

    // MARK:  Delete currently selected items
    
    open func deleteSelectedLockers() {
        // you should override this method if you want to cascade the deletion(s)
        if let selected=self.selectedLockers{
            for item in selected{
                 self.lockers.removeObject(item, commit:true)
            }
        }
    }
        

    open func deleteSelectedPushOperations() {
        // you should override this method if you want to cascade the deletion(s)
        if let selected=self.selectedPushOperations{
            for item in selected{
                 self.pushOperations.removeObject(item, commit:true)
            }
        }
    }
        

    open func deleteSelectedUsers() {
        // you should override this method if you want to cascade the deletion(s)
        if let selected=self.selectedUsers{
            for item in selected{
                 self.users.removeObject(item, commit:true)
            }
        }
    }
