anchor.diff:  sleep(Pid, Time) ->
       Pid ! {'$gen_component', time, Time}.
   
  +%% @edoc change the handler for handling messages
  +change_handler(State, Handler) when is_atom(Handler) ->
  +    {'$gen_component', [{on_handler, Handler}], State}.
  +
   %================================================================================
   % generic framework
   %================================================================================
  
positive.code:             ?DEBUG_REGISTER(list_to_atom(lists:flatten(io_lib:format("~p_~p",[Module,randoms:getRandomId()]))),self()),
  	    Supervisor ! {started, self()};
  	false ->
              
              case lists:keysearch(register_native, 1, Options) of
              {value, {register_native,Name}} ->
                 
                  register(Name, self()),
                  Supervisor ! {started, self()};
              false ->
  
negative.code: 
  -export([behaviour_info/1]).
  
  -export([start_link/2, start_link/3, start/4, start/2, start/3,wait_for_ok/0,
           change_handler/2]).
  
  -export([kill/1, sleep/2]).
  
  