anchor.diff:              throw(Reason)
       end.
   
  --ifndef(SIMULATION).
  -loop(Module, State, {Options, Slowest} = _ComponentState) ->
  -    receive
  -        {'$gen_compnent', sleep , Time} ->
  +loop(Module, On, State, {Options, Slowest} = ComponentState) ->
  +    receive
  +        {'$gen_component', sleep , Time} ->
               timer:sleep(Time),
  -            loop(Module, State, _ComponentState);
  -        {'$gen_compnent', kill} ->
  +            loop(Module, On, State, ComponentState);
  +        {'$gen_component', kill} ->
               ok;
           % handle failure detector messages
           {ping, Pid, Cookie} ->
               cs_send:send(Pid, {pong, Cookie}),
  -            loop(Module, State, _ComponentState);
  +            loop(Module, On, State, ComponentState);
           %% forward a message to group member by its process name
           %% initiated via cs_send:send_to_group_member()
           {send_to_group_member, Processname, Msg} ->
  
positive.code: sleep(Pid, Time) ->
      Pid ! {'$gen_component', time, Time}.
  
  %================================================================================
  % generic framework
  %================================================================================
  
negative.code:             end
      end,
      try
          case Module:init(Args) of
              {'$gen_component', Config, InitialState} ->
                  {value, {on_handler, NewHandler}} =
                      lists:keysearch(on_handler, 1, Config),
                  loop(Module, NewHandler, InitialState, {Options, 0.0});
              InitialState ->
                  loop(Module, on, InitialState, {Options, 0.0})
          end
      catch
          throw:Term ->
              log:log(error,"exception in init/loop of ~p: ~p~n", [Module, Term]),
  