anchor.diff:  	CharSelRep = {struct, [
   		{confirm, true}
   	]},
  -	respond(ssl, Id, <<"control">>, CharSelRep),
  +	respond(ssl, MessageID, <<"control">>, CharSelRep),
   
   	State#state{
   		client_info = State#state.client_info#client_info{
  
positive.code: 
  service_message(Envelope, State) when is_record(Envelope, envelope) ->
  	#state{client_info = ClientInfo, channel_mgr = ChannelMgr} = State,
  	#envelope{type = MessageType, channel = Channel, contents = Contents, id = Id} = Envelope,
  	case MessageType of
  		request ->
  			pre_client_channels:handle_request(ChannelMgr, ClientInfo, Channel, Id, Contents);
  		response ->
  			pre_client_channels:handle_response(ChannelMgr, ClientInfo, Channel, Id, Contents);
  		event ->
  			pre_client_channels:handle_event(ChannelMgr, ClientInfo, Channel, Contents)
  	end,
  
negative.code: 	send(Pid, Socket, Type, Channel, Json);
  
  send(Pid, Socket, request, Channel, Json) when Socket == udp; Socket == ssl; Socket == tcp ->
  	RequestID = generate_id(),
  	send(Pid, Socket, {request, RequestID}, Channel, Json),
  	RequestID;
  
  send(Pid, Socket, Type, Channel, Json) when Socket == udp; Socket == ssl; Socket == tcp ->
  	gen_server:cast(Pid, {send, Socket, Type, Channel, Json}).
  