         super.init(managedObjectModel: model)
 
         ///
-        /// Initialize the entity queues
+        /// Initialize the entities
         ///
         for (name, entity) in model.entitiesByName {
-            let queueName = "connect.entity.queue.\(name.lowercased())"
-
-            logInfo { "Initializing entity '\(name)'." }
-
-            if let userInfo = entity.userInfo, userInfo.count > 0 {
-                logInfo { "UserInfo found on entity '\(name)', reading static settings (if any)." }
-                entity.setSetttings(from: userInfo)
-            }
-
-            logInfo { "Creating action queue for entity '\(name)' (\(queueName))" }
-
-            self.entityQueues[name] = ActionQueue(name: queueName, concurrencyMode: .serial)
-
-            entity.managed = true
+
+            logInfo { "Found entity '\(name)'." }
+
+            self.manage(name: name, entity: entity)
         }
 
         if enableLogging {

    }
}

fileprivate extension PersistentStoreCoordinator {

    func queue<EntityType: NSManagedObject>(entity: EntityType.Type) throws -> ActionQueue {
        let entityName = String(describing: entity)


        let container = EntityActionContainer<ActionType>(action: action, context: context, notificationService: self.actionNotificationService, completionBlock: completionBlock)

        logTrace(1) { "Queuing \(container) on queue `\(entityQueue)'" }

        entityQueue.addAction(container, waitUntilDone: false)

