     
     dataSource.beginUpdatesSignal.subscribeNext { [weak self] in
       self?.tableView.beginUpdates()
-    }.putInto(pool)
+      }.putInto(pool)
     
     dataSource.endUpdatesSignal.subscribeNext { [weak self] in
       self?.tableView.endUpdates()
-    }.putInto(pool)
+      }.putInto(pool)
     
     dataSource.reloadDataSignal.subscribeNext { [weak self] in
       guard let strongSelf = self else { return }
-
+      
       if !strongSelf.animatesReload {
         tableView.reloadData()
         

          strongSelf.tableView.insertRowsAtIndexPaths([toIndexPath], withRowAnimation: .Fade)
        }
      }
    }.putInto(pool)
    
    dataSource.didChangeSectionSignal.subscribeNext { [weak self] changeType, fromIndex, toIndex in
      guard let strongSelf = self else { return }

  @objc
  public func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    if let footerClass = footerClassForSectionIndexMatching(section),
      let view = tableView.dequeueReusableHeaderFooterViewWithIdentifier(String(footerClass)) {
      willDisplaySectionFooter.sendNext((view, section))
      
      return view
