This change adds a WebSocketClient abstraction and enables the use of WebSocketHandler on the client side.