         var convertedOldIndexPath = realIndexPathForFetchedIndexPath(indexPath, sections: oldSections)
         var convertedNewIndexPath = realIndexPathForFetchedIndexPath(newIndexPath, sections: sections)
         
-        delegate?.controller?(controller, didChangeObject: anObject, atIndexPath: convertedOldIndexPath, forChangeType: type, newIndexPath: convertedNewIndexPath)
+        let metaData = anObject as ToDoMetaData
+        
+        delegate?.controller?(controller, didChangeObject: metaData.toDo, atIndexPath: convertedOldIndexPath, forChangeType: type, newIndexPath: convertedNewIndexPath)
     }
     
     func controllerDidChangeContent(controller: NSFetchedResultsController!)  {

    }
    
    func fetchedToDos() -> [ToDo] {
        return toDosController.fetchedObjects as [ToDo]
    }
    
    func toDoAtIndexPath(indexPath: NSIndexPath) -> ToDo {
        let sectionInfo = sections[indexPath.section]
        return toDosController.objectAtIndexPath(NSIndexPath(forRow: indexPath.row, inSection: sectionInfo.fetchedIndex!)) as ToDo
    }
    
    func reloadData() {

import CoreData

class ToDoListController: NSFetchedResultsControllerDelegate {
    
    var delegate: NSFetchedResultsControllerDelegate?
    
