anchor.diff:      %% Broadcast our current status to new peers
       broadcast(Added, State#state { peers = NewPeers }).
   
  -pubtab_delete(Node, Service) ->
  -    Svcs = pubtab_get_services(Node),
  +internal_delete(Node, Service) ->
  +    Svcs = internal_get_services(Node),
       ets:insert(?MODULE, {{by_node, Node}, Svcs -- [Service]}),
  -    Nds = pubtab_get_nodes(Service),
  +    Nds = internal_get_nodes(Service),
       ets:insert(?MODULE, {{by_service, Service}, Nds -- [Node]}).
   
  -pubtab_insert(Node, Service) ->
  +internal_insert(Node, Service) ->
       %% Remove Service & node before adding: avoid accidental duplicates
  -    Svcs = pubtab_get_services(Node) -- [Service],
  +    Svcs = internal_get_services(Node) -- [Service],
       ets:insert(?MODULE, {{by_node, Node}, [Service|Svcs]}),
  -    Nds = pubtab_get_nodes(Service) -- [Node],
  +    Nds = internal_get_nodes(Service) -- [Node],
       ets:insert(?MODULE, {{by_service, Service}, [Node|Nds]}).
   
  -pubtab_get_services(Node) ->
  +internal_get_services(Node) ->
       case ets:lookup(?MODULE, {by_node, Node}) of
           [{{by_node, Node}, Ss}] ->
               Ss;
  
positive.code:     gen_server:call(?MODULE, services, infinity).
  
  services(Node) ->
      pubtab_get_services(Node).
  
  nodes(Service) ->
      pubtab_get_nodes(Service).
  
  
  %% ===================================================================
  
negative.code:             []
      end.
  
  internal_get_nodes(Service) ->
      case ets:lookup(?MODULE, {by_service, Service}) of
          [{{by_service, Service}, Ns}] ->
              Ns;
  