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:       Message, State,
        {Options, Slowest, {BPs, true, tl(Queue), BPStepped, StepperPid}}, hd(Queue), FromQueue).
  
  handle_bp_request_in_bp(Message, State, ComponentState, BPMsg, FromQueue) ->
      ?TRACE_BP("Handle bp request in bp ~p ~n", [BPMsg]),
      {Options, Slowest, BPState} = ComponentState,
  
negative.code:             wait_for_bp_leave(Message, State, NextCompState, true);
          {'$gen_component', bp, bp_del, BPName} ->
              NextCompState =
                  case {bp_state_get_queue(BPState), FromQueue} of
                      {[_H|_T], false} -> gc_state_bp_hold_back(ComponentState, BPMsg);
                      _ -> gc_state_bp_del(ComponentState, BPName)
                  end,
              wait_for_bp_leave(Message, State, NextCompState, true)
      end.
  
  -spec handle_unknown_event(Message::tuple(), any(), component_state(),
                             module(), atom()) -> {any(), component_state()}.
  handle_unknown_event({web_debug_info, Requestor}, State, ComponentState, Module, On) ->
      GenCompInfo = lists:flatten(io_lib:format("~p", [State])),
      comm:send_local(Requestor, {web_debug_info_reply,
                                  [{"generic info from gen_component:", ""},
                                   {"module", Module}, {"handler", On},
                                   {"state", GenCompInfo}]}),
  