         webView.snp.makeConstraints { make in
             make.edges.equalTo(view)
         }
+
+        self.webView = webView
     }
 
     func reset() {
-        webView.delegate = nil
-        webView.removeFromSuperview()
+        webView?.loadRequest(URLRequest(url: URL(string: "about:blank")!))
+        webView?.delegate = nil
+        webView?.removeFromSuperview()
+        webView = nil
 
         isLoading = false
         canGoBack = false

        estimatedProgress = -1
        url = nil

        createWebView()
    }

    func goBack() {
        return webView.goBack()
    }

    func goForward() {
        return webView.goForward()
    }

    func reload() {
        webView.reload()
    }

    func loadRequest(_ request: URLRequest) {
        isLoading = true
        webView.loadRequest(request)
    }

    func stop() {
        webView.stopLoading()
    }

    fileprivate(set) var isLoading = false {


    let view = UIView()

    fileprivate var webView: UIWebView?

    /// The main document of the latest request, which might be set before we've actually
    /// started loading the document.
