anchor.diff:  on_active(Message, State) ->
       ?RT:handle_custom_message(Message, State).
   
  --spec lookup_aux_chord(Neighbors::nodelist:neighborhood(), RT::?RT:external_rt(), Key::intervals:key(),
  +-spec lookup_aux_chord(Neighbors::nodelist:neighborhood(), ERT::?RT:external_rt(),
  +                       DHTNodePid::comm:mypid(), Key::intervals:key(),
                          Hops::non_neg_integer(), Msg::comm:message()) -> ok.
  -lookup_aux_chord(Neighbors, ERT, Key, Hops, Msg) ->
  +lookup_aux_chord(Neighbors, ERT, DHTPid, Key, Hops, Msg) ->
       %% TODO : wrap_message expects a dht_node_state
       %% Noop in chord, simple
       %% frt_common: Neighbours, node_id, external_rt,
  
positive.code:     gen_component:post_op({periodic_rt_rebuild}, State);
  
  % Actual periodic rebuilding of the RT
  on_active({periodic_rt_rebuild}, {Neighbors, OldRT, OldERT}) ->
      % start periodic stabilization
      % log:log(debug, "[ RT ] stabilize"),
      NewRT = ?RT:init_stabilize(Neighbors, OldRT),
      %% ?RT:check(OldRT, NewRT, Neighbors, true),
      NewERT = rt_chord:check_tmp(OldRT, NewRT, OldERT, Neighbors, true), % TODO replace _tmp and rt_chord
      {Neighbors, NewRT, NewERT};
  %% userdevguide-end rt_loop:trigger
  
  % failure detector reported dead node
  on_active({fd_notify, crash, DeadPid, Reason}, {Neighbors, OldRT, OldERT}) ->
      NewRT = ?RT:filter_dead_node(OldRT, DeadPid, Reason),
      %% ?RT:check(OldRT, NewRT, Neighbors, false),
      NewERT = rt_chord:check_tmp(OldRT, NewRT, OldERT, Neighbors, false), % TODO replace _tmp and rt_chord
      {Neighbors, NewRT, NewERT};
  on_active({fd_notify, _Event, _DeadPid, _Reason}, State) ->
      State;
  
  % debug_info for web interface
  on_active({web_debug_info, Requestor},
     {_Neighbors, RT, ERT} = State) ->
      KeyValueList =
          [{"rt_size", ?RT:get_size(RT)},
           {"ert_size", gb_trees:size(ERT)},
  
negative.code:     comm:send_local(Requestor, {web_debug_info_reply, KeyValueList}),
      State;
  
  on_active({dump, Pid}, {_Neighbors, RT, _ERT, _DHTPid} = State) ->
      comm:send_local(Pid, {dump_response, RT}),
      State;
  
  on_active({?lookup_aux, Key, Hops, Msg}, {Neighbors, _RT, ERT, DHTPid} = State) ->
      case config:read(leases) of
          true ->
              lookup_aux_leases(Neighbors, ERT, DHTPid, Key, Hops, Msg);
          _ ->
              lookup_aux_chord(Neighbors, ERT, DHTPid, Key, Hops, Msg)
      end,
      State;
  
  