 extension DTTableViewManager
 {
     /// Any `UITableViewDatasource` and `UITableViewDelegate` method, that is not implemented by `DTTableViewManager` will be redirected to delegate, if it implements it.
+    /// - Parameter aSelector: selector to forward
+    /// - Returns: `DTTableViewManageable` delegate
     public override func forwardingTargetForSelector(aSelector: Selector) -> AnyObject? {
         return delegate
     }
     
     /// Any `UITableViewDatasource` and `UITableViewDelegate` method, that is not implemented by `DTTableViewManager` will be redirected to delegate, if it implements it.
+    /// - Parameter aSelector: selector to respond to
+    /// - Returns: whether delegate will respond to selector
     public override func respondsToSelector(aSelector: Selector) -> Bool {
         if self.delegate?.respondsToSelector(aSelector) ?? false {
             return true

/// - SeeAlso: `startManagingWithDelegate:`
public class DTTableViewManager : NSObject {
    
    private var tableView : UITableView?
    {
        return self.delegate?.tableView
    }
    
    private weak var delegate : DTTableViewManageable?

    ///  Factory for creating cells and views for UITableView

    var tableView : UITableView! { get }
}

/// This key is used to store `DTTableViewManager` instance on `DTTableViewManageable` class using object association.
private var DTTableViewManagerAssociatedKey = "Manager Associated Key"

/// Default implementation for `DTTableViewManageable` protocol, that will inject `manager` property to any object, that declares itself `DTTableViewManageable`.
