anchor.diff:  %% ------------------------------------------------------------------
   
   service_request(Binary, State) when is_binary(Binary) ->
  -	Rec = precursors_pb:decode_envelope(Binary),
  +	Json = mochijson2:decode(Binary),
  +	Rec = json_to_envelope(Json),
   	service_request(Rec, State);
   
   service_request(#envelope{channel = "control"} = Envelope, State) ->
  
positive.code: -type(message_id() :: 'undefined' | binary()).
  -type(json() :: integer() | float() | binary() | {struct, [{binary(), json()}]} | [json()]).
  -record(envelope, {type :: message_type(), id :: message_id(),
  	channel :: binary(), content :: json()}).
  
  %% ------------------------------------------------------------------
  %% API Function Exports
  
negative.code: handle_info({udp, Socket, Ip, InPortNo, Packet}, #state{udp_socket = Socket,
  	udp_remote_info = undefined} = State) ->
  		#state{cookie = Cookie} = State,
  		Success = try begin
  			Json = mochijson2:decode(Socket),
  			Rec = json_to_envelope(Json),
  			#envelope{channel = "control", contents = {struct, Event}} = Rec,
  			case proplists:get_value(<<"cookie">>, Event) of
  				Cookie -> ok;
  				_ -> badcookie
  			end end
  		catch
  			What:Why ->
  				{What,Why}
  		end,
  		case Success of
  			ok ->
  				ClientRec = #client_connection{
  