anchor.diff:  			reload,
   			?MODULE:char_select();
   		{error, closed} ->
  -			log("quit"),
  -			egs_user_model:delete(get(gid))
  +			closed %% exit
   	end.
   
   %% @doc Character selection handler.
  
positive.code: 			[dispatch(Orig) || Orig <- Packets],
  			?MODULE:loop(Rest);
  		{ssl_closed, _} ->
  			exit(ssl_closed);
  		{ssl_error, _, _} ->
  			exit(ssl_error);
  		_ ->
  			?MODULE:loop(SoFar)
  	after 1000 ->
  
negative.code: %% @spec cleanup(Pid) -> ok
  %% @doc Cleanup the data associated with the failing process.
  cleanup(Pid) ->
  	case egs_user_model:read({pid, Pid}) of
  		{ok, User} ->
  			egs_user_model:delete(User#egs_user_model.id),
  			{ok, List} = egs_user_model:select({neighbors, User}),
  			lists:foreach(fun(Other) -> Other#egs_user_model.pid ! {psu_player_unspawn, User} end, List),
  			io:format("game (~p): quit~n", [User#egs_user_model.id]);
  		{error, _Reason} ->
  			ignore
  	end.
  
  %% @doc Listen for connections.
  
  