anchor.diff:  -define(CHATROOM_NAME, ?MODULE).
   -define(TIMEOUT, 5 * 60 * 1000). % Innactivity Timeout
   
  --record(state, {name}).
  +-record(state, {name, handler}).
   
   %% API
   
  
positive.code: websocket_info(_Info, Req, State) ->
    {ok, Req, State}.
  
  terminate(_Reason, _Req, _State) ->
    ok.
  
  %% Private methods
  
negative.code:   % Create the handler from our custom handler
    Handler = ebus_handler:new(chat_erlbus_handler, self()),
    ebus:sub(?CHATROOM_NAME, Handler),
    {cowboy_websocket, Req, #state{name = get_name(Req), handler = Handler}, ?TIMEOUT}.
  
  websocket_handle({text, Msg}, Req, State) ->
    ebus:pub(?CHATROOM_NAME, {State#state.name, Msg}),
  