anchor.diff:      gen_component:start_link(?MODULE, Trigger, [{register, InstanceId, routing_table}]).
   
   %% @doc Initialises the module with an empty state.
  --spec init(module()) -> {uninit, trigger:state()}.
  +-spec init(module()) -> state_uninit().
   init(Trigger) ->
       % Note: no need to call dht_node:register_for_node_change(self()) since we
       % get notified of a new node ID via the update_state/3 method that is
       % called in dht_node's rm_update_neighbors handler
       log:log(info,"[ RT ~p ] starting routingtable", [comm:this()]),
       TriggerState = trigger:init(Trigger, ?MODULE),
  -    {uninit, TriggerState}.
  +    {uninit, msg_queue:new(), TriggerState}.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % Private Code
  
positive.code:                          Succ         :: node:node_type(),
                           RTState      :: ?RT:rt(),
                           TriggerState :: trigger:state()}).
  -type(state_uninit() :: {uninit, TriggerState :: trigger:state()}).
  -type(state() :: state_init() | state_uninit()).
  %% userdevguide-end rt_loop:state
  
  
negative.code:     new_state(Id, Pred, Succ, NewRT, TriggerState);
  
  % debug_info for web interface
  on({'$gen_cast', {debug_info, Requestor}},
     {_Id, _Pred, _Succ, RTState, _TriggerState} = State) ->
      KeyValueList =
          [{"rt_size", ?RT:get_size(RTState)},
           {"rt (index, node):", ""} | ?RT:dump(RTState)],
  