anchor.diff:  
   adopt(Child) ->
       executor = get_role(),
  -    ok = call(Child, {initiate_adoption, get_controller(), self()}).
  +    ok = call(Child, {initiate_adoption, get_controller()}).
   
   with(AsyncBody, Fun) ->
       Async = start(AsyncBody),
  
positive.code: maybe_register_with_parent_async(undefined) ->
      ok;
  maybe_register_with_parent_async(Pid) ->
      register_with_async(Pid).
  
  register_with_async(Pid) ->
      controller = get_role(),
      ok = call(Pid, {register_child_async, self()}).
  
  async_loop_wait_result(Type, Child, Reply, ChildAsyncs) ->
      receive
  
negative.code: get_controller() ->
      erlang:get('$async_controller').
  
  handle_initiate_adoption(Controller, From) ->
      {ok, Executor} = register_with_async(Controller),
      erlang:monitor(process, Executor),
      reply(From, ok).
  
  