anchor.diff:                                remote_monitors = maps:put(Node, #{}, RMons)}};
           error ->
               case maps:find(Ref, LMons) of
  +                {ok, {Owner, Pid}} when node(Owner) == node() ->
  +                    Owner ! {'DOWN', {interconnect_monitor, Pid, Ref}, process, Pid, Reason},
  +                    Node = node(Pid),
  +                    NodeMons = mzb_bc:maps_get(Node, RMons, #{}),
  +                    {noreply, State#s{local_monitors = maps:remove(Ref, LMons),
  +                                      remote_monitors = maps:put(Node, maps:remove(Ref, NodeMons), RMons)}};
                   {ok, {Owner, Pid}} ->
                       send_to(node(Owner), {down, node(), Owner, Ref, Pid, Reason}, State),
                       {noreply, State#s{local_monitors = maps:remove(Ref, LMons)}};
  
positive.code:     send_to(Director, {call, {node(), From}, Req}, State),
      {noreply, State};
  
  handle_call({monitor, Owner, Pid}, From, State) ->
      send_to(node(Pid), {monitor, {node(), From}, Owner, Pid}, State),
      {noreply, State};
  
  handle_call({demonitor, Pid, Ref}, _From, #s{remote_monitors = RMons} = State) ->
      Node = node(Pid),
      NodeMons = mzb_bc:maps_get(Node, RMons, #{}),
      send_to(node(Pid), {demonitor, Pid, Ref}, State),
  
negative.code: abcast(Nodes, Msg) ->
      [cast(N, Msg) || N <- Nodes].
  
  monitor(process, Pid) ->
      gen_server:call(?MODULE, {monitor, self(), Pid}).
  
  demonitor({interconnect_monitor, Pid, Ref}) ->
      gen_server:call(?MODULE, {demonitor, Pid, Ref}).
  
  demonitor({interconnect_monitor, _, _} = Ref, [flush]) ->
      ?MODULE:demonitor(Ref),
      receive
          {'DOWN', Ref, _, _, _} -> ok
      after 0 -> ok
      end.
  
  handle(Msg) ->
      system_log:info("Message at ~p: ~p", [node(), Msg]),
  