anchor.diff:  handle_call(_Request, _From, State) ->
       {reply, ignore, State}.
   
  -handle_cast({add_child, ChildPid}, #state{children=Children}=State) ->
  +handle_cast({add_child, ChildPid}, #state{tid=Tid}=State) ->
       erlang:monitor(process, ChildPid),
  -    {noreply, State#state{children=Children ++ [ChildPid]}};
  +    ets:insert_new(Tid, {ChildPid}),
  +    {noreply, State};
   handle_cast(_Msg, State) ->
       {noreply, State}.
   
  -handle_info({'DOWN', _MRef, _Type, Pid, _Info}, #state{children=Children}=State) ->
  -    case lists:member(Pid, Children) of
  -        true ->
  +handle_info({'DOWN', _MRef, _Type, Pid, _Info}, #state{tid=Tid}=State) ->
  +    case ets:lookup(Tid, Pid) of
  +        [] ->
  +            {noreply, State};
  +        [{Pid}] ->
  +            ets:delete(?MODULE, Pid),
               riak_js_sup:start_js(self()),
  -            {noreply, State#state{children=lists:delete(Pid, Children)}};
  -        false ->
               {noreply, State}
       end;
   handle_info(_Info, State) ->
  
positive.code: -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
           terminate/2, code_change/3]).
  
  -record(state, {children=[]}).
  
  dispatch(JSCall) ->
      case select_random() of
  
negative.code:             erlang:put(?MODULE, Pos),
              Pos
      end.
  
  reload_children('$end_of_table', _Tid) ->
      ok;
  reload_children(Current, Tid) ->
      riak_js_vm:reload(Current),
      reload_children(ets:next(Tid, Current), Tid).
  