This implements a ringbuffer that is used to decouple the raw websocket connection from the messages that the game handler handles.