 }
 
 
-// Section Management
-//public class StaticItemSection {
-//    var header:  String?
-//    var items: [StaticTableItem]!
-//    func append(item: StaticTableItem) {
-//        items.append(item)
-//    }
-//    init(header: String? = nil, items: [StaticTableItem]? = nil) {
-//        self.header = header
-//        self.items = items ?? [StaticTableItem]()
-//    }
-//}
-//public func += (inout left: [StaticItemSection], right: StaticItemSection?) {
-//    if let right = right { left.append(right) }
-//}
-//public func += (inout left: StaticItemSection, right: StaticTableItem?) {
-//    if let right = right { left.append(right) }
-//}
+public class StaticContent: NSObject, UITableViewDataSource {
+    public var sections: [StaticContentSection] = []
+    
+    public func numberOfSectionsInTableView(tableView: UITableView) -> Int {
+        return sections.count
+    }
+    
+    public func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
+        return sections[section].title
+    }
+    
+    public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return sections[section].items.count
+    }
+    
+    public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
+        return sections[indexPath.section].items[indexPath.row].dequeueReusableCell(tableView: tableView, indexPath: indexPath)
+    }
+    
+}
+public func += (inout left: StaticContent, right: StaticContentSection) {
+    left.sections.append(right)
+}
+
+
+public class StaticContentSection {
+    public var title: String?
+    public var items: [StaticContentItemProtocol] = []
+    public init(title: String? = nil) {
+        self.title = title
+    }
+}
+public func += (inout left: [StaticContentSection], right: StaticContentSection) {
+    left.append(right)
+}
+public func += (inout left: StaticContentSection, right: StaticContentItemProtocol) {
+    left.items.append(right)
+}
 
 
 
-// Default cell
-public protocol StaticTableItemProtocol {
-    
+public protocol StaticContentItemProtocol {
+    func dequeueReusableCell(tableView tableView: UITableView, indexPath: NSIndexPath) -> StaticTableViewCell
+    func doOnSelection(cell cell: StaticTableViewCell)
+    func doOnAction(cell cell: StaticTableViewCell)
 }
 
-public class StaticTableItem<C: UITableViewCell>: StaticTableItemProtocol {
+public class StaticContentItem<C: StaticTableViewCell>: StaticContentItemProtocol {
     public var cellIdentifier: String
-    public var customization: ((cell: C) -> Void)?
-    public var onSelection:   ((cell: C) -> Void)?
-    public var onAction:      ((cell: C) -> Void)?
+    private var customization: ((cell: C) -> Void)?
+    private var onSelection:   ((cell: C) -> Void)?
+    private var onAction:      ((cell: C) -> Void)?
     public init(cellIdentifier: String) {
         self.cellIdentifier = cellIdentifier
     }


import UIKit

public class StaticLoadAction: LoadAction<[StaticTableItemProtocol]> {
    
    public typealias StaticItemsResultType    = Result<[StaticTableItemProtocol], ErrorType>
    public typealias StaticItemsResultClosure = (result: StaticItemsResultType) -> Void
    public typealias StaticItemsResult        = (completion: StaticItemsResultClosure) -> Void
    
    /**
     Quick initializer with all closures
     
     - parameter load: Closure to load from web, must call result closure when finished
     - parameter delegates: Array containing objects that react to updated data
     */
    public init(
        staticItems: StaticItemsResult,
        delegates:   [LoadActionDelegate] = [],
        dummy:       (() -> ())? = nil)
    {

//    public override func setSelected(selected: Bool, animated: Bool) {
//        super.setSelected(selected, animated: animated)
//        if selected { (tableObject as! SACheckTableObject).onAction(sender: self) }
//    }
//}
//public class SATextFieldTableViewCell: SATitleTableViewCell {
