anchor.diff:  
   -spec join_game(serpents_games:id(), serpents_players:id()) -> position().
   join_game(GameId, PlayerId) ->
  -  call(GameId, {join, GameId, PlayerId}).
  +  call(GameId, {join, PlayerId}).
   
   -spec start_game(serpents_games:id()) -> ok.
   start_game(GameId) ->
  
positive.code: fetch_game(GameId) ->
    call(GameId, fetch).
  
  -spec game_dispatcher(serpents_games:id()) -> pid() | atom().
  game_dispatcher(GameId) ->
    call(GameId, dispatcher).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% PRIVATELY EXPORTED FUNCTIONS
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -spec start_link(serpents_games:game()) -> {ok, pid()}.
  start_link(Game) ->
    Process = process_name(serpents_games:id(Game)),
    gen_fsm:start_link({local, Process}, ?MODULE, Game, []).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% INTERNAL FUNCTIONS
  
negative.code:   ]).
  
  -export([start_link/1]).
  -export(
    [ created/3
    , created/2
    , started/2
    , init/1
    , handle_event/3
    , handle_sync_event/4
    , handle_info/3
    , terminate/3
    , code_change/4
    ]).
  
  -type options() :: #{ rows => pos_integer()
                      , cols => pos_integer()
  