anchor.diff:    _Pid = spawn(fun() -> update_all_users(CurrentTick, Games) end),
     {noreply, State#state{tick = CurrentTick}};
   handle_info({event, {serpent_added, _Serpent}}, State) ->
  -  % Do nothing
  +  lager:critical("serpent_added"),
     {noreply, State};
  -handle_info({event, {game_started, Game}}, State) ->
  -  % Do nothing
  +handle_info({event, {game_started, _Game}}, State) ->
  +  lager:critical("game_started"),
     {noreply, State};
  -handle_info({event, {game_finished, Game}}, State) ->
  -  % Do nothing
  +handle_info({event, {game_finished, Game}}, State = #state{games = Games}) ->
  +  lager:critical("game_finished"),
  +  NewGames = handle_game_finished(Game, Games),
  +  {noreply, State#state{games = NewGames}};
  +handle_info({event, {game_updated, _Game}}, State) ->
  +  lager:critical("game_updated"),
     {noreply, State};
  -handle_info({event, {game_updated, Game}}, State) ->
  -  % Do nothing
  -  {noreply, State};
  -handle_info({event, {game_countdown, Game}}, State) ->
  +handle_info({event, {game_countdown, _Game}}, State) ->
  +  lager:critical("game_countdown"),
     {noreply, State};
   handle_info(Msg, State) ->
     lager:notice("~p received unexpected info message: ~p", [Msg]),
  
positive.code: subscribe_to(GameName) ->
    spts_core:subscribe(GameName, {?MODULE, self()}, self()).
  
  get_id_by_address(Address, Users) ->
    case lists:keyfind(Address, 3, Users) of
      false ->
        undefined;
      {UserId, _Name, Address} ->
        UserId
    end.
  
  update_all_users(CurrentTick, Users) ->
  
negative.code:              end,
    {GameId, spts_games:ticktime(Game), length(Users), MaxUsers}.
  
  handle_game_finished(Game, Games) ->
    GameName = spts_games:id(Game),
    case lists:keytake(GameName, 2, Games) of
      false ->
        Games;
      {value, _DiscardedGame, NewGames} ->
        NewGames
    end.
  
  get_direction_atom(1) -> left;
  get_direction_atom(2) -> right;
  get_direction_atom(4) -> up;
  get_direction_atom(8) -> down;
  get_direction_atom(_) -> ignore.
  
  get_user_name(UserId, []) ->
    undefined;
  get_user_name(UserId, [{{UserId, UserName, _Address}, _Events} | _Users]) ->
    UserName;
  get_user_name(UserId, [_User | Users]) ->
    get_user_name(UserId, Users).
  
  %%==============================================================================
  %% Message building
  %%==============================================================================
  