anchor.diff:  % API
   %================================================================================
   
  +kill(Pid) ->
  +    Pid ! {'$gen_component', kill}.
  +
  +sleep(Pid, Time) ->
  +    Pid ! {'$gen_component', time, Time}.
   
   %================================================================================
   % generic framework
  
positive.code: 
  -export([start_link/2, start_link/3, start/4, start/2, start/3,wait_for_ok/0]).
  
  %================================================================================
  % behaviour definition
  %================================================================================
  
negative.code: 
  -spec(start_link/3 :: (any(), list(), list()) -> {ok, pid()}).
  start_link(Module, Args, Options) ->
      Pid = spawn_link(?MODULE, start, [Module, Args, Options, self()]),
      receive
          {started, Pid} ->
  