anchor.diff:  %% -------------------------------------------------------------------
   
   %% @hidden
  -handle_event({request, Client, Channel, Id, Request} = Msg, {Channel, Module, Info} = State) ->
  -	Out = Module:client_request(Client, Id, Request, Info),
  +handle_event({request, ClientInfo, Channel, Id, Request} = Msg, {Channel, Module, Info} = State) ->
  +	Out = Module:client_request(ClientInfo, Id, Request, Info),
   	handle_return(Out, Msg, State);
   
  -handle_event({response, Client, Channel, Id, Response} = Msg, {Channel, Module, Info} = State) ->
  -	Out = Module:client_response(Client, Id, Response, Info),
  +handle_event({response, ClientInfo, Channel, Id, Response} = Msg, {Channel, Module, Info} = State) ->
  +	Out = Module:client_response(ClientInfo, Id, Response, Info),
   	handle_return(Out, Msg, State);
   
  -handle_event({event, Client, Channel, Event} = Msg, {Channel, Module, Info} = State) ->
  -	Out = Module:client_event(Client, Event, Info),
  +handle_event({event, ClientInfo, Channel, Event} = Msg, {Channel, Module, Info} = State) ->
  +	Out = Module:client_event(ClientInfo, Event, Info),
   	handle_return(Out, Msg, State);
   
   handle_event(_Msg, State) ->
  
positive.code: -behavior(gen_event).
  
  -include("log.hrl").
  
  % gen_event
  -export([init/1, handle_event/2, handle_call/2, handle_info/2, terminate/2,
  
negative.code: 
  %% @doc Used by the client connection to send requests into the manager.
  %% Requests end up calling into client_request/4 of the callback module.
  -spec(handle_request/5 :: (Mgr :: pid(), ClientInfo :: #client_info{}, Channel :: any(),
  	Id :: any(), Request :: json()) -> 'ok').
  handle_request(Mgr, ClientInfo, Channel, Id, Request) ->
  	%%?info("Handling: ~p ~p ~p ~p ~p", [Mgr, ClientInfo, Channel, Id, Request]),
  	gen_event:notify(Mgr, {request, ClientInfo, Channel, Id, Request}).
  
  %% @doc Used by the client connection to send responses into the manager.
  %% Requests end up calling into client_response/4 of the callback module.
  -spec(handle_response/5 :: (Mgr :: pid(), ClientInfo :: #client_info{},
  	Channel :: any(), Id :: any(), Response :: json()) -> 'ok').
  handle_response(Mgr, ClientInfo, Channel, Id, Response) ->
  	gen_event:notify(Mgr, {response, ClientInfo, Channel, Id, Response}).
  
  %% @doc Used by the client connection to send events into the manager.
  %% Events end up calling into the client_event/3 of the callback module.
  -spec(handle_event/4 :: (Mgr :: pid(), ClientInfo :: #client_info{}, Channel :: any(),
  	Event :: json()) -> 'ok').
  handle_event(Mgr, ClientInfo, Channel, Event) ->
  	gen_event:notify(Mgr, {event, ClientInfo, Channel, Event}).
  
  
  %% -------------------------------------------------------------------
  