     @objc func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) {
         switch type {
         case .Insert:
-            self.fetchedResultsController.didInsertSectionClosure?(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            for closure in self.fetchedResultsController.didInsertSectionClosures {
+                closure(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            }
             
         case .Delete:
-            self.fetchedResultsController.didDeleteSectionClosure?(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            for closure in self.fetchedResultsController.didDeleteSectionClosures {
+                closure(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            }
             
         case .Update:
-            self.fetchedResultsController.didUpdateSectionClosure?(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            for closure in self.fetchedResultsController.didUpdateSectionClosures {
+                closure(FetchedResultsSectionInfo(underlyingSectionInfo: sectionInfo), sectionIndex)
+            }
             
         default:
             break

    }
    
    @objc func controllerWillChangeContent(controller: NSFetchedResultsController) {
        self.fetchedResultsController.willChangeContentClosure?()
    }
    
    @objc func controllerDidChangeContent(controller: NSFetchedResultsController) {
        self.fetchedResultsController.didChangeContentClosure?()
    }
    
    @objc func controller(controller: NSFetchedResultsController, sectionIndexTitleForSectionName sectionName: String?) -> String? {

    @objc func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
        switch type {
        case .Insert:
            for closure in self.fetchedResultsController.didInsertEntityClosures {
                closure(anObject as! NSManagedObject, newIndexPath!)
            }
            
        case .Delete:
            for closure in self.fetchedResultsController.didDeleteEntityClosures {
                closure(anObject as! NSManagedObject, indexPath!)
            }
            
        case .Update:
            for closure in self.fetchedResultsController.didUpdateEntityClosures {
                closure(anObject as! NSManagedObject, indexPath!)
            }
            
        case .Move:
            for closure in self.fetchedResultsController.didMoveEntityClosures {
                closure(anObject as! NSManagedObject, indexPath!, newIndexPath!)
            }
            
        default:
            break
