anchor.diff:                      Ns0 = maps:put(Node, Info, Ns),
   
                       % publish new/updated node
  -                    gen_server:cast(self(), {publish, Node}),
  +                    gen_server:cast(self(), {publish, connect, Node}),
   
                       {true, schedule_persist_timer(State#state{nodes=Ns0})};
                   false ->
  
positive.code:                     lager:info("disconnection from node ~p failed - local node is not alive", [Node])
              end,
  
              Ns0 = maps:remove(Node, Ns),
              {true, schedule_persist_timer(State#state{nodes=Ns0})};
          {ok, _Info} ->
  
negative.code: %%--------------------------------------------------------------------
  handle_info({connect, Node}, State) ->
      {_, State0} = try_connect(Node, State),
      {noreply, State0};
  
  handle_info({disconnect, Node}, State) ->
      {_, State0} = try_disconnect(Node, State),
      {noreply, State0};
  
  handle_info(persist, State) ->
  