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

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

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