   weak var tableView: UITableView?
   private var dataSource: TableViewDynamicArrayDataSource?
   private var sectionBonds: [UITableViewDataSourceSectionBond<Void>] = []
-  var disableAnimation = false
   public weak var nextDataSource: UITableViewDataSource? {
     didSet(newValue) {
       dataSource?.nextDataSource = newValue
     }
   }
   
-  public init(tableView: UITableView) {
+  public init(tableView: UITableView, disableAnimation: Bool = false) {
     self.tableView = tableView
     super.init()
     
     self.didInsertListener = { [weak self] array, i in
       if let s = self {
         if let tableView: UITableView = self?.tableView {
-          perform(animated: !s.disableAnimation) {
+          perform(animated: !disableAnimation) {
             tableView.beginUpdates()
             tableView.insertSections(NSIndexSet(array: i), withRowAnimation: UITableViewRowAnimation.Automatic)
             
             for section in sorted(i, <) {
-              let sectionBond = UITableViewDataSourceSectionBond<Void>(tableView: tableView, section: section)
+              let sectionBond = UITableViewDataSourceSectionBond<Void>(tableView: tableView, section: section, disableAnimation: disableAnimation)
               let sectionDynamic = array[section]
               sectionDynamic.bindTo(sectionBond)
               s.sectionBonds.insert(sectionBond, atIndex: section)

    self.didRemoveListener = { [weak self] array, i in
      if let s = self {
        if let tableView = s.tableView {
          perform(animated: !s.disableAnimation) {
            tableView.beginUpdates()
            tableView.deleteSections(NSIndexSet(array: i), withRowAnimation: UITableViewRowAnimation.Automatic)
            for section in sorted(i, >) {

    self.didUpdateListener = { [weak self] array, i in
      if let s = self {
        if let tableView = s.tableView {
          perform(animated: !disableAnimation) {
            tableView.beginUpdates()
            tableView.reloadSections(NSIndexSet(array: i), withRowAnimation: UITableViewRowAnimation.Automatic)

            for section in i {
              let sectionBond = UITableViewDataSourceSectionBond<Void>(tableView: tableView, section: section, disableAnimation: disableAnimation)
              let sectionDynamic = array[section]
              sectionDynamic.bindTo(sectionBond)
              
