anchor.diff:          bp_active(Message, State,
                     {Options, Slowest, {RemainingBPs, BPActive, HB_BP_Ops, BPStepped, StepperPid}}).
   
  +-spec wait_for_bp_leave(comm:message(), any(), component_state(), boolean())
  +                       -> component_state().
   wait_for_bp_leave(_Message, _State, ComponentState, _BP_Active = false) ->
       ComponentState;
   wait_for_bp_leave(Message, State, ComponentState, _BP_Active = true) ->
  
positive.code:             ComponentState
      end.
  
  gc_state_bp_set_cond({Options, Slowest, BPState}, Cond, BPName) ->
      ?TRACE_BP("Set bp ~p with name ~p~n", [Cond, BPName]),
      {Options, Slowest, bp_state_bp_set_cond(BPState, Cond, BPName)}.
  
  gc_state_bp_set({Options, Slowest, BPState}, MsgTag, BPName) ->
      ?TRACE_BP("Set bp ~p with name ~p~n", [MsgTag, BPName]),
      {Options, Slowest, bp_state_bp_set(BPState, MsgTag, BPName)}.
  
  gc_state_bp_del({Options, Slowest, BPState}, BPName) ->
      ?TRACE_BP("Del bp ~p~n", [BPName]),
      {Options, Slowest, bp_state_bp_del(BPState, BPName)}.
  
  gc_state_bp_hold_back({Options, Slowest, BPState}, Message) ->
      ?TRACE_BP("Enqueued bp op ~p -> ~p~n", [Message,
      {Options, Slowest, bp_state_hold_back(BPState, Message)}]),
      {Options, Slowest, bp_state_hold_back(BPState, Message)}.
  %    NewQueue = lists:append(Queue, [Message]),
  
  handle_breakpoint(Message, State, ComponentState) ->
      BPActive = bp_active(Message, State, ComponentState),
      wait_for_bp_leave(Message, State, ComponentState, BPActive).
  
  bp_active(_Message, _State,
            {_Options, _Slowest,
             {[] = _BPs, false = _BPActive, _HB_BP_Ops, false = _BPStepped, unknown}}
  
negative.code:               try_loop(Module, On, State, ComponentState)
      end.
  
  -spec loop(module(), atom(), term(), component_state()) -> ok.
  loop(Module, On, State, {_Options, _Slowest, _BPState} = ComponentState) ->
      ?CALLING_RECEIVE(Module),
      receive Msg -> loop(Module, On, Msg, State, ComponentState)
      end.
  
  -spec loop(module(), atom(), comm:message(), term(), component_state()) -> ok.
  loop(Module, On, ReceivedMsg, State, {_Options, _Slowest, _BPState} = ComponentState) ->
      case ReceivedMsg of
          %%%%%%%%%%%%%%%%%%%%
  