anchor.diff:      sets:fold(fun (Module, ok) ->
               z_supervisor:add_child_async(ModuleSup, module_spec(Module, Context)),
               ok
  -        end, ok, New),
  +        end, ok, Create),
   
       % 1. Put all to be started modules into a start list (add to State)
       % 2. Let the module manager start them one by one (if startable)
       % 3. Log any start errors, suppress modules that have errors.
       % 4. Log non startable modules (remaining after all startable modules have started)
  -    gen_server:cast(self(), start_next),
  -    State#state{start_queue=Create}.
  +    
  +    case {StartList, sets:size(Kill)} of
  +        {[], 0} -> 
  +            State#state{start_queue=[]};
  +        _ ->
  +            gen_server:cast(self(), start_next),
  +            State#state{start_queue=StartList}
  +    end.
   
   handle_start_next(#state{context=Context, start_queue=[]} = State) ->
       % Signal modules are loaded, and load all translations.
  
positive.code: 
  %% @doc Return the list of all provided services.
  handle_get_provided(State) ->
      get_provided_for_modules(handle_get_modules(State)).
  
  get_provided_for_modules(Modules) ->
      lists:flatten(
  
negative.code: handle_get_modules(State) ->
      [ Name || {Name,_Pid} <- handle_get_modules_pid(State) ].
  
  %% @doc Return the list of module names currently managed and running by the z_supervisor.
  handle_get_running(State) ->
      z_supervisor:running_children(State#state.sup).
  
  %% @doc Return the list of module names and their pid currently managed by the z_supervisor.
  handle_get_modules_pid(State) ->
  