   private class func applySectionUnitChangeSet(changeSet: ObservableArrayEventChangeSet, tableView: UITableView, dataSource: BNDTableViewProxyDataSource?) {
     switch changeSet {
     case .Inserts(let indices):
-      if let animation = dataSource?.tableView?(tableView, shouldAnimationForRowInSections: indices) where animation == false { tableView.reloadData(); break }
       tableView.insertSections(NSIndexSet(set: indices), withRowAnimation: dataSource?.tableView?(tableView, animationForRowInSections: indices) ?? .Automatic)
     case .Updates(let indices):
-      if let animation = dataSource?.tableView?(tableView, shouldAnimationForRowInSections: indices) where animation == false { tableView.reloadData(); break }
       tableView.reloadSections(NSIndexSet(set: indices), withRowAnimation: dataSource?.tableView?(tableView, animationForRowInSections: indices) ?? .Automatic)
     case .Deletes(let indices):
-      if let animation = dataSource?.tableView?(tableView, shouldAnimationForRowInSections: indices) where animation == false { tableView.reloadData(); break }
       tableView.deleteSections(NSIndexSet(set: indices), withRowAnimation: dataSource?.tableView?(tableView, animationForRowInSections: indices) ?? .Automatic)
     }
   }

    for (sectionIndex, sectionObservableArray) in array.enumerate() {
      sectionObservableArray.observeNew { [weak tableView, weak self] arrayEvent in
        guard let tableView = tableView else { return }
        switch arrayEvent.operation {
        case .Batch(let operations):
          tableView.beginUpdates()

  optional func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath)
  optional func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath)
  
  /// Override to specify reload or update
  optional func shouldReloadInsteadOfUpdateTableView(tableView: UITableView) -> Bool
  
  /// Override to specify custom row animation when row is being inserted, deleted or updated
  optional func tableView(tableView: UITableView, animationForRowAtIndexPaths indexPaths: [NSIndexPath]) -> UITableViewRowAnimation
