             t = .initialImportCompleted
         }
         
-        watchers.forEach { [weak self] in
-            guard let s = self else {
+        watchers.forEach { [t = t] in
+            guard let watch = $0.watch else {
                 return
             }
             
-            ($0.watch?.delegate as? WatchCloudDelegate)?.graphWillPrepareCloudStorage?(graph: s, transition: t)
+            (watch.delegate as? WatchCloudDelegate)?.graphWillPrepareCloudStorage?(graph: watch.graph, transition: t)
         }
     }
     
     internal func persistentStoreDidChange(_ notification: Notification) {
-        GraphContextRegistry.added[self.route] = true
-        self.completion?(true, nil)
-        for watcher in watchers {
-            if let watch = watcher.watch {
-                (watch.delegate as? WatchCloudDelegate)?.graphDidPrepareCloudStorage?(graph: self)
+        GraphContextRegistry.added[route] = true
+        
+        completion?(true, nil)
+        
+        watchers.forEach {
+            guard let watch = $0.watch else {
+                return
             }
+            
+            (watch.delegate as? WatchCloudDelegate)?.graphDidPrepareCloudStorage?(graph: watch.graph)
         }
     }
     

                watch.notifyUpdatedWatchersFromCloud(notification)
                watch.notifyDeletedWatchersFromCloud(notification)
            
                
                (watch.delegate as? WatchCloudDelegate)?.graphDidUpdateFromCloudStorage?(graph: s)
            }
        }
    }

     */
    static func create(type: String, location: URL, options: [NSObject: Any]? = nil) -> NSPersistentStoreCoordinator {
        var coordinator: NSPersistentStoreCoordinator?
        
        File.createDirectoryAtPath(location, withIntermediateDirectories: true, attributes: nil) { (success, error) in
            if let e = error {
                fatalError("[Graph Error: \(e.localizedDescription)]")
            }
        
            coordinator = NSPersistentStoreCoordinator(managedObjectModel: Model.create())
        }
        
        return coordinator!
    }
}
