Features/routable websockets

Start cleaning up the websocket API