anchor.diff:          andalso tx_tm =:= state_get_role(NewState)
           andalso on =:= Handler of
           true ->
  +            % TODO: this may lead to a trigger infection!
               comm:send_local(self(), {update_RTMs_on_init}),
               gen_component:change_handler(
                 state_set_RTMs(NewState, NewRTMs),
  
positive.code:     case Role of
          tx_tm ->
              comm:send_local(self(), {get_node_details}),
              rtm_update(state_get_RTMs(InitialState),
                         config:read(tx_rtm_update_interval) div 1000,
                         {update_RTMs}),
              %% subscribe to id changes
              rm_loop:subscribe(self(), ?MODULE,
                                fun rm_loop:subscribe_dneighbor_change_filter/3,
  
negative.code:     %% only in tx_tm not in rtm processes!
      ?DBG_ASSERT(tx_tm =:= state_get_role(State)),
      RTMs = state_get_RTMs(State),
      rtm_update_trigger(RTMs),
      State;
  on({update_RTMs_on_init}, State) ->
      %% only in tx_tm not in rtm processes!
  