anchor.diff:  % API
   %================================================================================
   
  +kill(Pid) ->
  +    Pid ! {'$gen_component', kill}.
  +
  +sleep(Pid, Time) ->
  +    Pid ! {'$gen_component', time, Time}.
   
   %================================================================================
   % generic framework
  
positive.code: -ifndef(SIMULATION).
  loop(Module, State, {Options, Slowest} = _ComponentState) ->
      receive
          Message ->
              %Start = erlang:now(),
             
              case (try Module:on(Message, State) catch
                                                      throw:Term -> {exception, Term};
                                                      exit:Reason -> {exception,Reason};
  
negative.code: 
  -export([start_link/2, start_link/3, start/4, start/2, start/3,wait_for_ok/0]).
  
  -export([kill/1, sleep/2]).
  
  %================================================================================
  % behaviour definition
  %================================================================================
  