             break
         }
         return true
-    }
-    
-    public func itemAdditionJavascriptString(with article: MWKArticle) -> String {
-        
-        return self.menuItemTypeJSPath
-/*
-        var title = self.localizedTitle(with: article)
-        if let substitutionString = titleSubstitutionStringForArticle(article: article) {
-            title = String.localizedStringWithFormat(title, substitutionString)
-        }
-        
-        let subtitle = self.localizedSubtitle(with: article)
-        
-        let itemSelectionHandler =
-        "function(payload){" +
-            "window.webkit.messageHandlers.footerMenuItemClicked.postMessage({'selection': '\(menuItemTypeString)', 'payload': payload});" +
-        "}"
-        
-        return "window.wmf.footerMenu.maybeAddItem('\(title)', '\(subtitle)', \(self.menuItemTypeJSPath), 'pagelib_footer_container_menu_items', \(itemSelectionHandler), document);"
- */
     }
 }
 

            WMFArticleFooterMenuItem.disambiguation,
            WMFArticleFooterMenuItem.talkPage
            ].filter{$0.shouldAddItem(with: article)}
            .map{$0.itemAdditionJavascriptString(with: article)}
            .joined(separator: ", ")
        
        let menuItemsJSArray = "[\(menuItemsJS)]"

        
        
        evaluateJavaScript("window.wmf.sectionTransformation.transformAndAppendSectionsToDocument('\(proxyURLString)', '\(apiURLString)', \(newJSArticle), \(newJSLocalizedStrings), \(menuItemsJSArray))") { (result, error) in
            guard let error = error else {

        }
    }
    
    public var menuItemTypeJSPath: String {
        return "window.wmf.footerMenu.MenuItemType.\(menuItemTypeString)"
    }
    
    public func shouldAddItem(with article: MWKArticle) -> Bool {
        switch self {
