     
     public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
         let cell = tableView.dequeueReusableCellWithIdentifier(FetchedTableCellIdentifier)!
+        let object = fetchedController.objectAtIndexPath(indexPath)
+        configureCell(indexPath, cell: cell, object: object)
         return cell
+    }
+    
+    public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
+        tableView.deselectRowAtIndexPath(indexPath, animated: true)
+        
+        let object = fetchedController.objectAtIndexPath(indexPath)
+        tappedCell(indexPath, object: object)
     }
     
     public func setPresentationCellNib(nib:UINib) {

    public func createFetchedController() -> NSFetchedResultsController {
        fatalError("Need to override \(__FUNCTION__)")
    }
}

public class FetchedTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NSFetchedResultsControllerDelegate {
    @IBOutlet public var tableView: UITableView!
    private var fetchedController:NSFetchedResultsController!
    
    public override func viewWillAppear(animated: Bool) {
        if fetchedController != nil {
            return
        }
