Allow multiple websocket clients with different callbacks and an additional user supplied argument