anchor.diff:  handle_info({event, {serpent_added, _Serpent}}, State) ->
     % Do nothing, we already know this (we joined the guy!)
     {noreply, State};
  -handle_info({event, {game_started, Game}}, State) ->
  -  lager:critical("game_started: ~p", [Game]),
  -  %NewGameUsers = send_event(NewEvents, GameUsers),
  -  {noreply, State};
  +handle_info({event, {game_started, Game}}, State = #state{games = Games,
  +                                                          tick  = Tick}) ->
  +  NewGames = handle_game_started(Game, Tick, Games),
  +  {noreply, State#state{games = NewGames}};
   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 = #state{games = Games,
                                                             tick  = Tick}) ->
  -  lager:critical("game_updated"),
     NewGames = handle_game_updated(Game, Tick, Games),
     {noreply, State#state{games = NewGames}};
   handle_info({event, {game_countdown, _Game}}, State) ->
  
positive.code: get_direction_atom(8) -> down;
  get_direction_atom(_) -> ignore.
  
  get_user_name(UserId, []) ->
    undefined;
  get_user_name(UserId, [{{UserId, UserName, _Address}, _Events} | _Users]) ->
    UserName;
  
negative.code:             NameSize:?UCHAR>>,
            Name]}.
  
  build_start(Tick, WallDiff) ->
    StartCommand = get_command(start),
    {Tick, [<<Tick:?USHORT,
              StartCommand:?UCHAR>>,
            build_diff(WallDiff)]}.
  
  build_moved(UserId, Tick, Direction) ->
    MovedCommand = get_command(moved),
    {Tick, <<Tick:?USHORT, MovedCommand:?UCHAR, UserId:?UINT, Direction:?UCHAR>>}.
  