Simple messenger abstraction that sends and receives messages via a WebSocket connection