anchor.diff:  %% api
   -export([
   	 start_link/1,
  -	 register_object/3
  +	 register_object/3,
  +	 unregister_object/2
   	]).
   
   %% gen_server callback2
  
positive.code:     {noreply, State};
  
  handle_info({'EXIT', Pid, Reason}, State) ->
      Objects = State#state.objects,
      case lists:keysearch(Pid, 2, Objects) of
  	{value, {Path, _}} ->
  	    error_logger:info_msg("~p: Object terminated ~p ~p ~p~n", [?MODULE, Pid, Reason, Path]),
  	    Objects1 =
  		lists:keydelete(Pid, 2, Objects),
  	    if
  		Objects1 == [] ->
  		    error_logger:info_msg("~p: No more objects stopping ~p service~n", [?MODULE, State#state.name]),
  		    {stop, normal, State};
  		true ->
  		    {noreply, State#state{objects=Objects1}}
  	    end;
  	false ->
  	    if
  		Reason /= normal ->
  		    {stop, Reason};
  		true ->
  		    {noreply, State}
  	    end
      end;
  
  
negative.code: 
  register_object(Service, Path, Object) ->
      gen_server:call(Service, {register_object, Path, Object}).
  
  unregister_object(Service, Object) ->
      gen_server:call(Service, {unregister_object, Object}).
  
  %%
  %% gen_server callbacks
  