     public func rx_subscribeRowsToCellWithIdentifier<E, Cell where E : AnyObject, Cell: UITableViewCell>
         (cellIdentifier: String, configureCell: (UITableView, NSIndexPath, E, Cell) -> Void)
         (source: Observable<[E]>)
-        -> Result<Disposable> {
+        -> Disposable {
             
             let dataSource = TableViewDataSource {
                 let cell = $0.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: $1) as! Cell

            }
        })
            
        return success(CompositeDisposable(clearDataSource, disposable))
    }
    
    public func rx_subscribeRowsTo<E where E : AnyObject>
        (cellFactory: (UITableView, NSIndexPath, E) -> UITableViewCell)
        (source: Observable<[E]>)
        -> Result<Disposable> {
            
        let dataSource = TableViewDataSource {
            cellFactory($0, $1, $2 as! E)

    public func rx_subscribeRowsTo<E where E: AnyObject>
        (dataSource: TableViewDataSource)
        (source: Observable<[E]>)
        -> Disposable {
            
        MainScheduler.ensureExecutingOnScheduler()
        
