     return tableView.indexPathsForVisibleRows;
   }
 
-  @available(iOS 6.0, *)
-  public func headerViewForSection(section: Int) -> UITableViewHeaderFooterView? {
-    return tableView.headerViewForSection(section)
-  }
-
-  @available(iOS 6.0, *)
-  public func footerViewForSection(section: Int) -> UITableViewHeaderFooterView? {
-    return tableView.footerViewForSection(section)
-  }
-
   public func scrollToRowAtIndexPath(indexPath: NSIndexPath, atScrollPosition scrollPosition: UITableViewScrollPosition, animated: Bool) {
     tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: scrollPosition, animated: animated)
   }

extension StatefulTableView {
  /// Bridge for UITableivew methods. Read UITableView documentation for more details

  public var sectionHeaderHeight: CGFloat {
    set { tableView.sectionHeaderHeight = newValue }
    get { return tableView.sectionHeaderHeight }
  }

  public var sectionFooterHeight: CGFloat {
    set { tableView.sectionFooterHeight = newValue }
    get { return tableView.sectionFooterHeight }
  }

  @available(iOS 7.0, *)
  public var estimatedRowHeight: CGFloat {
    set { tableView.estimatedRowHeight = newValue }

    get { return tableView.sectionIndexTrackingBackgroundColor }
  }

  /// Beginning in iOS 6, clients can register a nib or class for each cell.
  /// If all reuse identifiers are registered, use the newer -dequeueReusableCellWithIdentifier:forIndexPath: to guarantee that a cell instance is returned.
  /// Instances returned from the new dequeue method will also be properly sized when they are returned.

  /// Focus

