# Functions
NewClient creates and returns a pointer to a new client.
NewDispatcher creates a new Dispatcher.
NewHandlers creates and returns a pointer to a new instance of `Handler`.
SetRoutes sets all of the appropriate routes to websocket handlers for the application.
# Structs
Client is a middleman between the websocket connection and the hub.
Dispatcher maintains the set of active clients and broadcasts messages to the clients.
Handlers handles websocket connections and provides an interface to dispatch events.
Message wraps the relevant information needed to broadcast a message.
# Interfaces
Handler is an interface to the HTTP handler functions.