anchor.diff:  	?assertEqual(undefined,Root:get_value("value")),
   	erlv8:stop().
   
  -listeners_test() ->
  +listeners_manual_removal_test() ->
   	erlv8:start(),
   	{ok, VM} = erlv8_vm:start(),
   	erlv8_vm:register(VM,'require',beamjs_mod_require),
  
positive.code: handle_info(_Info,State) ->
  	{ok, State}.
  
  terminate(_Args, _State) ->
      ok.
  
  
negative.code: 			?assert(F)
  	end.
  
  listeners_manual_addition_test() ->
  	erlv8:start(),
  	{ok, VM} = erlv8_vm:start(),
  	erlv8_vm:register(VM,'require',beamjs_mod_require),
  	application:set_env(beamjs,available_mods,[{"events",?MODULE},
  											   {"messaging",beamjs_mod_messaging}]),
      Global = erlv8_vm:global(VM),
  	Global:set_value("reportTo",self()),
  	{ok, Listeners} = erlv8_vm:run(VM,
  								   "var emitter = new (require('events').EventEmitter)();"
  								   "var msg = require('messaging');"
  								   "var l1 = function() { msg.send(reportTo, 1) };"
  								   "var l2 = function() { msg.send(reportTo, 2) };"
  								   "emitter.addListener('event', l1);"
  								   "emitter.listeners('event');"),
      Global = erlv8_vm:global(VM),
      L1 = Global:get_value("l1"),
      L2 = Global:get_value("l2"),
  	?assertEqual(1,Listeners:length()),
  	ListenersList = Listeners:list(),
  	?assert(L1:equals(lists:nth(1,ListenersList))),
  	Listeners:push(L2),
  	erlv8_vm:run(VM,"emitter.emit('event');"),
  	listeners_manual_addition_test_loop(0),
  	erlv8:stop().
  
  listeners_manual_addition_test_loop(N) ->
  	receive 
  		M when is_integer(M) ->
  			listeners_manual_addition_test_loop(N+M);
  		Other ->
  			error({bad_result, Other})
  	after 200 ->
  			?assertEqual(3,N)
  	end.
  
  
  -endif.
  
  