                 
                 DispatchQueue.main.async {
                     
-                    // Send initialization notification
-                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: CRDCoreDataStack.notificationInitializedFailed), object: nil)
+                    // Send initialization failed notification
+                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: CRDCoreDataStack.notificationInitializedFailed), object: self)
                 }
                 
                 return

                
            } catch let error as NSError {
                
                print("\(error)")
            }
            
            DispatchQueue.main.async {
                
                // Seed the database if necessary
                if let delegate = self.delegate {
                
                    delegate.seedDataStore()
                }
                
                // Send initialization notification
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: CRDCoreDataStack.notificationInitialized), object: nil)
            }
        }
    }

            
            // Helper
            let persistentStoreURL = self.persistentStoreURL
            
            // Check if the persistent store exists and if not, set a flag to indicate we are creating it for the first time.
            var persistentStoreNewlyCreated = true
            do {
                
                persistentStoreNewlyCreated = !(try persistentStoreURL.checkResourceIsReachable())
            
            } catch {
                
                // Do nothing.
            }
            
            do {

