anchor.diff:  
   % ---------------------------------------------------
   
  -monitor_mbox(MBoxPid) ->
  -    {ok, erlang:monitor(process, MBoxPid)}.
  -
   % Retrieves or starts an mbox for an Addr.
  -make_mbox(#dmgr{curr = Dict, timeout = Timeout} = DMgr, Addr) ->
  -    case dict:find(Addr, Dict) of
  -        {ok, MBox} ->
  -            {ok, DMgr, MBox};
  -        error ->
  -            case start_mbox(Addr, Timeout) of
  -                {ok, MBox} -> Dict2 = dict:store(Addr, MBox, Dict),
  -                              {ok, DMgr#dmgr{curr = Dict2}, MBox};
  -                Error      -> Error
  -            end
  -    end.
  -
  -start_mbox(Addr, Timeout) ->
  -    case mc_downstream_sup:add_downstream(Addr, Timeout) of
  -        {ok, Pid} -> {ok, #mbox{addr = Addr, pid = Pid,
  -                                started = erlang:now()}};
  -        Error     -> Error
  +make_mbox(State, Addr) ->
  +    case mc_downstream_sup:add_downstream(Addr, State#dmgr.timeout) of
  +        {ok, Child} -> {ok, Child};
  +        {error, {already_started, Child}} -> {ok, Child}
       end.
   
   group_by(Keys, KeyFunc) ->
  
positive.code:         end,
      case gen_server:call(?MODULE, {pid, Addr}) of
          {ok, MBoxPid} ->
              {ok, Monitor} = monitor_mbox(MBoxPid),
              MBoxPid ! {send, NotifyPid, NotifyData, ResponseFun,
                         kind_to_module(Kind), Cmd, CmdArgs},
              {ok, [Monitor]};
          _Error -> {error, []}
      end.
  
  kind_to_module(ascii)  -> mc_client_ascii_ac;
  
negative.code: %% gen_server implementation.
  
  init([{timeout, Timeout}]) ->
      {ok, #dmgr{timeout = Timeout}}.
  
  terminate(_Reason, _DMgr) -> ok.
  code_change(_OldVn, DMgr, _Extra) -> {ok, DMgr}.
  
  handle_info(_Info, DMgr) -> {noreply, DMgr}.
  
  