     
     func cellDidToggleCompletion(cell: TodoCell)
     {
+        // FIXME: indexPathForCell() only works if cell is visible, possible crash if you scroll the cell out of the screen
+        
         // Retrieve index path
         let indexPath = self.tableView.indexPathForCell(cell)
         

    
    private class func animationOptionCurve(fromAnimationCurve curve: UIViewAnimationCurve) -> UIViewAnimationOptions
    {
        switch (curve)
            {
        case UIViewAnimationCurve.EaseInOut:
            return UIViewAnimationOptions.CurveEaseInOut;
        case UIViewAnimationCurve.EaseIn:

    
    func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath)
    {
        switch type {
        case NSFetchedResultsChangeType.Insert:
            self.tableView.insertRowsAtIndexPaths([ newIndexPath ], withRowAnimation: UITableViewRowAnimation.Fade)
        case NSFetchedResultsChangeType.Delete:
