several fixes/improvements

- websocket subscriptions are tracked and are able to be looked up and
managed from the application