This allows the client object to be observed using the on()
method just like with the mixer and transport components,
instead of passing separate callbacks.
See mixer-demo/js/main.js for an example.
Replace previous callback based basic client with an easier
to use object-oriented API that further abstracts the low level
details of the WebSockets Server surface messaging protocol.
All built-in web surface demos were updated to use the new API.