anchor.diff:  	async_trigger_hooks(Hook, Args, first).
   
   async_trigger_hooks(Hook, Args, Mode) ->
  +	?debug("async_trigger_hooks/3 ~s ~s ~s", [Hook, Args, Mode]),
   	spawn(fun() -> trigger_hooks(Hook, Args, Mode) end).
   
   create_ets() ->
  
positive.code: 	trigger_hooks(Hook, Args, first).
  
  trigger_hooks(Hook, Args, Mode) ->
  	Node = node(),
  	QH = qlc:q([HookRec ||
  		#hook{hook = AHook, nodes = ANodes} = HookRec <- ets:table(?MODULE),
  		AHook == Hook, (ANodes == global orelse lists:member(Node, ANodes))]),
  	Hooks = qlc:e(QH),
  	Acc = case Mode of
  
negative.code: 
  handle_cast({add_hook, Pid, Hook, Mod, Func, Info, Nodes}, State) ->
  	Monref = erlang:monitor(process, Pid),
  	Rec = #hook{key = #hook_key{pid = Pid, hook = Hook}, mod = Mod, func = Func, info = Info,
  		nodes = Nodes, mon = Monref},
  	ets:insert(?MODULE, [Rec]),
  	{noreply, State};
  