         self.environment.router?.showContainerForBlockWithID(block.blockID, type:block.displayType, parentID: parent, courseID: courseQuerier.courseID, fromController:self)
     }
     
-    private func expandAccessStream(stream : Stream<CourseLastAccessed>) -> Stream<(CourseBlock, CourseLastAccessed)> {
-        return stream.transform {[weak self] lastAccessed in
-            return joinStreams(self?.courseQuerier.blockWithID(lastAccessed.moduleId) ?? Stream<CourseBlock>(), Stream(value: lastAccessed))
-        }
-
-    }
-    
     //MARK: PullRefreshControllerDelegate
     public func refreshControllerActivated(controller: PullRefreshController) {
         courseQuerier.needsRefresh = true

        }
    }
    
    private func loadedHeaders(headers : CourseOutlineQuerier.BlockGroup) {
        self.setupNavigationItem(headers.block)
        let children = headers.children.map {header in
            return self.courseQuerier.childrenOfBlockWithID(header.blockID, forMode: self.modeController.currentMode)
        }
        rowsLoader.backWithStream(joinStreams(children))
    }
    
    private func addListeners() {
        blockIDStream.listen(self,
            success: {[weak self] blockID in
                self?.backHeadersLoaderWithBlockID(blockID)
            },
            failure: {[weak self] error in
                self?.headersLoader.backWithStream(Stream(error: error))
        })
        
        headersLoader.listen(self,
            success: {[weak self] headers in
                self?.loadedHeaders(headers)
            },
            failure: {[weak self] error in
                self?.rowsLoader.backWithStream(Stream(error: error))
                self?.showErrorIfNecessary(error)
            }
        )

                self?.showErrorIfNecessary(error)
            },
            finally: {[weak self] in
                if let active = self?.rowsLoader.active where !active {
                    self?.tableController.refreshController.endRefreshing()
                }
            }
        )
    }

    // MARK: Outline Table Delegate
