output port number
pass the prefix through to the handler
add join-room command

Subscriptions are (currently) stored in the app loop.