anchor.diff:  
   
   -export([handle_rpc/2]).
  +-export([wse_register_service/2]).
  +-export([wse_message/5]).
   -export([init/0]).
   
   %%-include_lib("lhttpc/include/lhttpc.hrl").
  
positive.code: 				      service_edge_rpc,
  				      ExoHttpOpts);
  	Err -> Err
      end.
  
  
  register_service(Service, Address) ->
  
negative.code: 	Err -> Err
      end.
  
  %%
  %% Depending on the format of NetworkAddress
  %% Dispatch to websocket or JSON-RPC server
  %% FIXME: Should be a pluggable setup where 
  %%        different dispatchers are triggered depending
  %%        on prefix in NetworkAddress
  %%
  
  flatten_ws_args([ { _, [{ struct, List}] } | T], Acc )  when is_list(List) ->
      flatten_ws_args(List ++ T, Acc);
  
  flatten_ws_args([{ _, Val}| T], Acc ) ->
      flatten_ws_args(T, [ Val | Acc]);
  
  
  flatten_ws_args([], Acc) -> 
      lists:reverse(Acc).
  
  
  flatten_ws_args(Args) ->    
      flatten_ws_args(Args, []).
      
  dispatch_to_local_service([ $w, $s, $: | WSPidStr], Command, Args) ->
      ?debug("    service_edge:dispatch_to_local_service(): Websocket!: ~p, ~p", [ Command, Args]),
      wse:call(list_to_pid(WSPidStr), wse:window(),
  	     Command, flatten_ws_args(Args)),
      ok;
  
  %% Dispatch to regular JSON-RPC over HTTP.
  dispatch_to_local_service(NetworkAddress, Command, Args) ->
      rvi_common:send_http_request(NetworkAddress, Command, Args).
      
  
  forward_message_to_local_service(Target, Parameters) ->
      %%
      %% Resolve the local service name to an URL that we can send the
  