Gateway Dispatching
event() :: atom()
payload() :: any()
socket() :: WSState.t()
handle({event(), payload(), socket()}) :: {event(), payload(), socket()}