anchor.diff:      pdb:set({FDPid, NewHBS}, fd_hbs),
       NewHBS.
   
  +%% @doc Forwards the given message to the registered HBS or creates a new HBS.
   -spec forward_to_hbs(comm:mypid(), comm:message()) -> ok.
   forward_to_hbs(Pid, Msg) ->
  +    forward_to_hbs(Pid, Msg, true).
  +
  +%% @doc Forwards the given message to the registered hbs or either creates a
  +%%      new hbs (if Create is true) or ignores the message (Create is false).
  +-spec forward_to_hbs(comm:mypid(), comm:message(), Create::boolean()) -> ok.
  +forward_to_hbs(Pid, Msg, Create) ->
       FDPid = comm:get(fd, Pid),
  -    HBSPid = case pdb:get(FDPid, fd_hbs) of
  -                 undefined -> % synchronously create new hb process
  -                     start_and_register_hbs(FDPid);
  -                 Entry -> element(2, Entry)
  -             end,
  -    comm:send_local(HBSPid, Msg).
  +    case pdb:get(FDPid, fd_hbs) of
  +        undefined when Create ->
  +            % synchronously create new hb process
  +            HBSPid = start_and_register_hbs(FDPid),
  +            comm:send_local(HBSPid, Msg);
  +        undefined ->
  +            ok;
  +        Entry ->
  +            HBSPid = element(2, Entry),
  +            comm:send_local(HBSPid, Msg)
  +    end.
   
   %% @doc show subscriptions
   -spec subscriptions() -> ok.
  
positive.code: 
  on({crashed, WatchedPid, _Warn} = Msg, State) ->
      ?TRACE("FD: crashed message via fd for watched pid ~p~n", [WatchedPid]),
      forward_to_hbs(WatchedPid, Msg),
      State;
  
  %% on({web_debug_info, _Requestor}, State) ->
  
negative.code: 
  on({report_graceful_leave, Pid}, State) ->
      ?TRACE("FD: report_graceful_leave ~p~n", [Pid]),
      Msg = {'DOWN', no_ref, process, comm:make_local(Pid), unittest_down},
      % don't create new hbs processes!
      forward_to_hbs(Pid, Msg, false),
      State.
  
  %%% Internal functions
  