     var restorationIdentifier: String?
 
     override var description: String {
-        return "<\(self.dynamicType): state=\(state.rawValue) location=\(location)>"
+        return "<\(self.dynamicType): state=\(state) location=\(location)>"
     }
 
     init(visitable: Visitable, action: Action, webView: WebView) {

    func visitRequestDidFinish(visit: Visit)
}

enum VisitState: String {
    case Initialized = "Initialized"
    case Started = "Started"
    case Canceled = "Canceled"
    case Failed = "Failed"
    case Completed = "Completed"
}

class Visit: NSObject {

    private var identifier = "(pending)"

    override var description: String {
        return "<\(self.dynamicType) \(identifier): state=\(state) location=\(location)>"
    }

    override private func startVisit() {
