anchor.diff:          {'$gen_component', get_state_response, State} -> State
       end.
   
  --spec get_state(Pid::pid(), Timeout::non_neg_integer()) -> term().
  +-spec get_state(Pid::pid(), Timeout::non_neg_integer()) -> term() | failed.
   get_state(Pid, Timeout) ->
       Pid ! {'$gen_component', get_state, self()},
       receive
           {'$gen_component', get_state_response, State} -> State
  +    after Timeout -> failed
  +    end.
  +
  +-spec get_component_state(Pid::pid()) -> term().
  +get_component_state(Pid) ->
  +    Pid ! {'$gen_component', get_component_state, self()},
  +    receive
  +        {'$gen_component', get_component_state_response, State} -> State
  +    end.
  +
  +-spec get_component_state(Pid::pid(), Timeout::non_neg_integer()) -> {Module::module(), Handler::atom(), ComponentState::term()} | failed.
  +get_component_state(Pid, Timeout) ->
  +    Pid ! {'$gen_component', get_component_state, self()},
  +    receive
  +        {'$gen_component', get_component_state_response, State} -> State
       after Timeout -> failed
       end.
   
  
positive.code:          start/4, start/2,
           start/3]).
  -export([kill/1, sleep/2, runnable/1,
           get_state/1, get_state/2, change_handler/2]).
  -export([bp_set/3, bp_set_cond/3, bp_del/2]).
  -export([bp_step/1, bp_cont/1, bp_barrier/1]).
  
  
negative.code:                 end
      end.
  
  -spec handle_gen_component_message(Message::tuple(), Module::module(), Handler::atom(), State::term(), ComponentState) -> ComponentState.
  handle_gen_component_message(Message, Module, On, State, ComponentState) ->
      {_Options, _Slowest, BPState} = ComponentState,
      case Message of
          {'$gen_component', bp, barrier} ->
  