anchor.diff:                 {State, []}
       end.
   
  -processIn(State, From,M=#channel_create{id=Id}) ->
  -    case ets:insert_new(?tid(State), #chan{id = Id, remote = From}) of
  +processIn(State, From, M) -> processIn(State, From, M, undefined).
  +processIn(State, From, M=#channel_create{id=Id}, Data) ->
  +    case ets:insert_new(?tid(State),
  +			#chan{id = Id, remote = From, data=Data}) of
           true -> {State, M};
           false -> dupId(From,Id),
                   State
       end;
   
  -processIn(State, From, M=#channel_message{id=Id}) ->
  +processIn(State, From, M=#channel_message{id=Id}, _Data) ->
       case ets:member(?tid(State), Id) of
           false ->
               ?lwarn("Unknown channel: ~p from: ~p",[Id,From]),
               State;
           true -> {State, M}
       end;
  -processIn(State,_From,M=#channel_close{id=Id}) ->
  +processIn(State,_From,M=#channel_close{id=Id}, _Data) ->
       ets:delete(?tid(State), Id),
       {State, M}.
   
  
positive.code: -include("mmd.hrl").
  -include_lib("p6core/include/logger.hrl").
  -export([new/0, new/1]).
  -export([handleExit/3,processOut/2,processOut/3,processIn/3]).
  -export([sendAll/2]).
  -export([refToIds/2, removeRef/2]).
  
  
negative.code: -define(tid(S), S#state.tid).
  -define(max_chans(S), S#state.max_chans).
  
  -record(chan, {id, remote, data}).
  
  new() -> new(?MAX_CONCURRENT_CHANNELS).
  new(MaxChans) -> #state{tid = ets:new(channel_mgr, [set, {keypos, 2}]),
  