anchor.diff:  
   send(Pid, Socket, Type, Channel, Json) when Socket == udp; Socket == ssl; Socket == tcp ->
   	gen_server:cast(Pid, {send, Socket, Type, Channel, Json}).
  +
  +%% ------------------------------------------------------------------
  +
  +%% @doc Respond to a message from the client over a given channel.
  +
  +-spec respond(Pid, Socket, Id, Channel, Json) -> 'ok' when
  +	Pid :: pid() | #client_info{},
  +	Socket :: 'udp' | 'ssl' | 'tcp',
  +	Id :: message_id(),
  +	Channel :: binary(),
  +	Json :: json().
  +
  +respond(Pid, Socket, Id, Channel, Json) ->
  +	send(Pid, Socket, {'response', Id}, Channel, Json).
   
   %% ------------------------------------------------------------------
   
  
positive.code: 		{type, <<"setZone">>},
  		{level, LevelUrl}
  	]},
  	pre_client_connection:send(Connection, tcp, event, level, LoadLevel),
  
  	?info("Creating entity for client ~p.", [State#state.client_info]),
  	pre_client_connection:set_inhabited_entity(Connection, pre_entity_engine_sup:create_entity(entity_ship)),
  	{ok, undefined};
  
  
  service_control_message(event, <<"logout">>, _, _, _) ->
  	?info("Got logout event from client."),
  	exit(normal).
  
  %% ------------------------------------------------------------------
  
  
negative.code: 		}
  	};
  
  service_control_message(request, <<"getCharacters">>, Id, _Request, State) ->
  	?info("Retrieving character list for client ~p.", [State#state.client_info]),
  
  	GetCharsRep = {struct, [
  		{confirm, true},
  			% TODO: Replace this with generated character list
  			{characters, [<<"Character 1">>, <<"Character 2">>, <<"Character 3">>]}
  	]},
  	respond(ssl, Id, <<"control">>, GetCharsRep),
  	State;
  
  service_control_message(request, <<"selectCharacter">>, Id, Request, State) ->
  	Character = proplists:get_value(<<"character">>, Request),
  	?info("Character selected: ~p", [Character]),
  
  	CharSelRep = {struct, [
  		{confirm, true}
  	]},
  	respond(ssl, Id, <<"control">>, CharSelRep),
  
  	Connection = State#state.client_info#client_info.connection,
  	LevelUrl = <<"zones/test/TestArea.json">>,
  