anchor.diff:              %% probably crashed and this is a restart.
               ok
       end,
  -    gen_server:start_link({local, Name}, ?MODULE, [Name], []).
  -
  -%% @private
  -init([Name]) ->
  -  {ok, #state{name=Name}}.
  -
  -%% @private
  -handle_call({remove_resource, Resource}, _From, State=#state{name=Name}) ->
  +    gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  +
  +%% @private
  +init([]) ->
  +    {ok, undefined}.
  +
  +%% @private
  +handle_call({remove_resource, Name, Resource}, _From, State) ->
       DL = filter_by_resource(Resource, get_dispatch_list(Name)),
       {reply, set_dispatch_list(Name, DL), State};
   
  -handle_call({remove_route, Route}, _From, State=#state{name=Name}) ->
  +handle_call({remove_route, Name, Route}, _From, State) ->
       DL = [D || D <- get_dispatch_list(Name),
                  D /= Route],
       {reply, set_dispatch_list(Name, DL), State};
   
  -handle_call({add_route, Route}, _From, State=#state{name=Name}) ->
  +handle_call({add_route, Name, Route}, _From, State) ->
       DL = [Route|[D || D <- get_dispatch_list(Name),
                         D /= Route]],
       {reply, set_dispatch_list(Name, DL), State};
   
  -handle_call({init_routes, DefaultRoutes}, _From, State=#state{name=Name}) ->
  +handle_call({init_routes, Name, DefaultRoutes}, _From, State) ->
       %% if the table lacks a dispatch_list row, set it
  -    ets:insert_new(Name, {dispatch_list, DefaultRoutes}),
  +    ets:insert_new(?MODULE, {Name, DefaultRoutes}),
       {reply, ok, State};
   
   handle_call(_Request, _From, State) ->
  
positive.code: 
  %% API
  -export([start_link/0,
           start_link/1,
           add_route/1,
           remove_route/1,
           remove_resource/1,
           get_routes/0,
           get_routes/1,
           init_routes/1,
  
negative.code:     end.
  
  get_dispatch_list(Name) ->
      case ets:lookup(?MODULE, Name) of
          [{Name, Dispatch}] ->
              Dispatch;
          [] ->
              []
      end.
  
  set_dispatch_list(Name, DispatchList) ->
      true = ets:insert(?MODULE, {Name, DispatchList}),
      ok.
  
  %%
  