         return dbFolder
     }()
     
-    lazy var managedObjectModel: NSManagedObjectModel = {
+    lazy var managedObjectModel: NSManagedObjectModel! = {
         let modelURL = Bundle.main.url(forResource: self.modelName, withExtension: "momd")!
         return NSManagedObjectModel(contentsOf: modelURL)!
     }()

        
        do {
            let objects = try fetch(request)
            return objects.map { $0[named] as AnyObject }
        } catch {
            Logging.log("fetchEntityAttribute error: \(error)")
            return []

    private var wipeDatabaseOnConflict = false
    private var pathToSQLiteFile: URL?
    private let mergePolicy: NSMergePolicyType
    private let identifier: String
    
    private static var spawnedBackgroundCount = 0
    
    init(modelName: String, type: String = NSSQLiteStoreType, identifier: String, in directory: FileManager.SearchPathDirectory = .documentDirectory, mergePolicy: NSMergePolicyType = .mergeByPropertyObjectTrumpMergePolicyType, wipeOnConflict: Bool) {
        self.modelName = modelName
        self.storeType = type
        self.directory = directory
        self.mergePolicy = mergePolicy
        self.wipeDatabaseOnConflict = wipeOnConflict
        self.identifier = identifier
    }
    
    fileprivate func performUsingWorker(closure: ((NSManagedObjectContext) -> ())) {
