moving websocket into being managed by the room component. if the partent would want access to "user signal" it can ask via observer. that would mean bidirectionality, and i already hear screeching of my intuitions from react, but maybe that's ok and in react i would still scope the websocket to the room page, plus callbacks