                 }
 
             case EstimatedProgressKeyPath:
-                progressBar.setProgress(Float(webView.estimatedProgress), animated: true)
                 let completed = webView.estimatedProgress == 1.0
-                progressBar.hidden = completed
+                progressBar.setProgress(completed ? 0.0 : Float(webView.estimatedProgress), animated: !completed)
                 UIApplication.sharedApplication().networkActivityIndicatorVisible = !completed
 
             default: break

    }

    public var displaysWebViewTitle: Bool = false

    private lazy var _webView: WKWebView = { [unowned self] in
        // FIXME: prevent Swift bug, lazy property initialized twice from `init(coder:)`



///  An instance of `WebViewController` displays interactive web content.
public class WebViewController: UIViewController {

    // MARK: Properties

