     
     public override func viewWillAppear(animated: Bool) {
         super.viewWillAppear(animated)
+        self.tableOfContentsFunnel.logOpen()
         //Compensate for status bar and header if the table view hasn't been scrolled
         if(self.tableViewContentOffsetIsCloseTo0()){
             self.tableView.contentOffset = CGPointMake(0, -self.tableView.tableHeaderView!.frame.size.height)

    // MARK: - UITableViewDelegate
    public override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if let section = self.sectionAtIndexPath(indexPath) {
            self.removeSectionHighlightFromAllRows()
            self.addSectionHighlightToSectionAndVisibleRowsIntheSameSectionAs(section, animated: true)
            self.delegate?.tableOfContentsController(self, didSelectSection: section)

    
    // MARK: - WMFTableOfContentsPresentationControllerTapDelegate
    public func tableOfContentsPresentationControllerDidTapBackground(controller: WMFTableOfContentsPresentationController) {
        self.tableOfContentsFunnel.logClose()
        self.delegate?.tableOfContentsControllerDidCancel(self)
    }

