     override public func didRead(data: Data, from: RawTCPSocketProtocol) {
         super.didRead(data: data, from: from)
 
-        switch internalStatus {
+        switch readingStatus {
         case .readingFirstHeader:
             guard let header = scanner.input(data).0 else {
                 // TODO: indicate observer

                return "invalid"
            case .readingFirstHeader:
                return "reading first header"
            case .waitingAdapter:
                return "waiting adpater to be ready"
            case .sendingConnectResponse:
                return "sending response header for CONNECT"
            case .waitingToForward:
                return "waiting to begin forwarding data"
            case .readingHeader:
                return "reading header (forwarding)"
            case .readingContent:

    override public func didWrite(data: Data?, by: RawTCPSocketProtocol) {
        super.didWrite(data: data, by: by)

        switch writingStatus {
        case .sendingConnectResponse:
            writingStatus = .forwarding
            observer?.signal(.readyForForward(self))
            delegate?.didBecomeReadyToForwardWith(socket: self)
        default:
