     func start() {
         if state == .Initialized {
             delegate?.visitWillStart(self)
-            self.state = .Started
+            state = .Started
             startVisit()
         }
     }
 
     func cancel() {
         if state == .Started {
-            self.state = .Canceled
+            state = .Canceled
             cancelVisit()
         }
     }
 
     private func complete() {
         if state == .Started {
-            self.state = .Completed
+            state = .Completed
             delegate?.visitDidComplete(self)
         }
     }
 
-    private func fail(callback: (() -> ())? = nil) {
+    private func fail(callback: (() -> Void)? = nil) {
         if state == .Started {
-            self.state = .Failed
+            state = .Failed
             callback?()
             failVisit()
             delegate?.visitDidFail(self)


    private func finishRequest() {
        if requestStarted && !requestFinished {
            self.requestFinished = true
            delegate?.visitRequestDidFinish(self)
        }
    }


    func webView(webView: TLWebView, didCompleteRequestForVisitWithIdentifier identifier: String) {
        if identifier == self.identifier {
            afterNavigationCompletion { [unowned self] in
                self.delegate?.visitWillLoadResponse(self)
                self.webView.loadResponseForVisitWithIdentifier(identifier)
            }
