extract testing helper
defer websocket initialization

because it generates an exception during unit tests
test that peers receive messages too
refactor transport as class
extract the input loop
extract register_client context manager
node keeps track of clients
keep a handle to node object
call transport from node
app-specific node
refactor test suite
client_map contains Transport objects
simplify management of transport objects
it's up to the node to relay messages
json round_tripping
test with json messages
rename variable
rename test identities
wrap message in envelope
server understands envelope format