anchor.diff:    % 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)}, ?TIMEOUT}.
  +  {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}),
  
positive.code: -define(CHATROOM_NAME, ?MODULE).
  -define(TIMEOUT, 5 * 60 * 1000). % Innactivity Timeout
  
  -record(state, {name}).
  
  %% API
  
  
negative.code: websocket_info(_Info, Req, State) ->
    {ok, Req, State}.
  
  terminate(_Reason, _Req, State) ->
    % Unsubscribe the handler
    ebus:unsub(?CHATROOM_NAME, State#state.handler),
    ok.
  
  %% Private methods
  