     
     private var expandDict = [Int : Bool]()
     
+    let defaultRowHeight: CGFloat = 44
+    
     public init(dataSource: NAExpandableTableViewDataSource? = nil, delegate: NAExpandableTableViewDelegate? = nil) {
         super.init()
         self.dataSource = dataSource

    
    /// Equivalent to UITableView's cellForRowAtIndexPath - called only for section title cell (the one that toggles expansion)
    func expandableTableView(tableView: UITableView, titleCellForSection section: Int, expanded: Bool) -> UITableViewCell
}

@objc public protocol NAExpandableTableViewDelegate {

    
    public func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return self.dataSource?.numberOfExpandableSectionsInTableView(tableView) ?? 0
    }
    
    public func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if indexPath.row == 0 {
            return self.dataSource?.expandableTableView?(tableView, heightForTitleCellInSection: indexPath.section) ?? defaultRowHeight
        }
        
        return self.dataSource?.expandableTableView?(tableView, heightForRowInSection: indexPath.section) ?? defaultRowHeight
    }
    
    public func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
