anchor.diff:      E1 = rempid_set_last_modified(RemPidEntry, Time),
       rempid_set_pending_demonitor(E1, true).
   
  --spec state_new(comm:mypid(), [rempid()],
  -                erlang_timestamp(), erlang_timestamp(), pdb:tableid()) -> state().
  -state_new(RemoteHBS, RemotePids, LastPong, CrashedAfter, Table) ->
  -    {RemoteHBS, RemotePids, LastPong, CrashedAfter, Table, []}.
  +-spec state_new(RemoteHBS::comm:mypid(), RemotePids::[rempid()],
  +                LastPong::erlang_timestamp(), CrashedAfter::erlang_timestamp(),
  +                LocalSubscriberTab::pdb:tableid(),
  +                MonitorTab::pdb:tableid()) -> state().
  +state_new(RemoteHBS, RemotePids, LastPong, CrashedAfter, LocalSubscriberTab, MonitorTab) ->
  +    {RemoteHBS, RemotePids, LastPong, CrashedAfter, LocalSubscriberTab, MonitorTab}.
   
   -spec state_get_rem_hbs(state())    -> comm:mypid().
   state_get_rem_hbs(State)            -> element(1, State).
  
positive.code:               _RemotePids = [],
                _LastPong = Now,
                _CrashedAfter = util:time_plus_ms(Now, delayfactor() * failureDetectorInterval()),
                TableName).
  
  -spec on(comm:message(), state()) -> state() | kill.
  on({add_subscriber, Subscriber, WatchedPid, Cookie} = _Msg, State) ->
  
negative.code: -spec init(pid() | comm:mypid()) -> state().
  init(RemotePid) ->
      ?TRACE("fd_hbs init: RemotePid ~p~n", [RemotePid]),
      LocalSubscriberTab = pdb:new(?MODULE, [set]), %% debugging: ++ [protected]),
      MonitorTab = pdb:new(?MODULE, [set]), %% debugging: ++ [protected]),
      RemoteFDPid = comm:get(fd, RemotePid),
      comm:send(RemoteFDPid,
                {subscribe_heartbeats, comm:this(), RemotePid},
  