anchor.diff:          {'$gen_component', get_state, Pid} ->
               comm:send_local(
                 Pid, {'$gen_component', get_state_response, State}),
  +            ComponentState;
  +        {'$gen_component', get_component_state, Pid} ->
  +            comm:send_local(
  +              Pid, {'$gen_component', get_component_state_response, {Module, On, ComponentState}}),
               ComponentState
       end.
   
  
positive.code:         {'$gen_component', get_state_response, State} -> State
      end.
  
  -spec get_state(Pid::pid(), Timeout::non_neg_integer()) -> term().
  get_state(Pid, Timeout) ->
      Pid ! {'$gen_component', get_state, self()},
      receive
          {'$gen_component', get_state_response, State} -> State
      after Timeout -> failed
      end.
  
  
negative.code:           when is_tuple(GenComponentMessage),
                 '$gen_component' =:= element(1, GenComponentMessage) ->
              NewComponentState =
                  handle_gen_component_message(GenComponentMessage, Module, On,
                                               State, ComponentState),
              loop(Module, On, State, NewComponentState);
          % handle failure detector messages
          {ping, Pid} ->
  