     
     func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
         Logger.debug(type: .webSocketChannel, message: "receive text message => \(text)")
-        send(message: .text(text))
+        callMessageHandler(message: .text(text))
     }
     
     func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
         Logger.debug(type: .webSocketChannel, message: "receive binary message => \(data)")
-        send(message: .binary(data))
+        callMessageHandler(message: .binary(data))
     }
 
     func websocketDidReceivePong(socket: WebSocketClient, data: Data?) {

            Logger.debug(type: .webSocketChannel, message: "\(data)")
            nativeChannel.write(data: data)
        }
    }
    
    func websocketDidConnect(socket: WebSocketClient) {

    }
    
    func send(message: WebSocketMessage) {
        callMessageHandler(message: message)
        switch message {
        case .text(let text):
            Logger.debug(type: .webSocketChannel, message: text)
