         case newPage
     }
     static let processPool: WKProcessPool = WKProcessPool()
+    let coachMarksController = CoachMarksController()
     let toolbarHeight: CGFloat = 45.0
     var showAd: Bool {
         return !PaymentManager.shared.isPremiumUser

import ReactiveSwift
import SnapKit
import GoogleMobileAds

class WebViewController: UIViewController, WKNavigationDelegate {
    enum Mode {

        func getStickyEntity(_ dic: [String:AnyObject]) -> StickyEntity? {
            guard let s = getSticky(dic) else { return nil }
            guard let stickies = vc?.page?.stickies else { return nil }
            guard let sticky = stickies.map({ $0 }).filter({ $0.uuid == s.uuid }).first else { return nil }
            return sticky
        }
        func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
