anchor.diff:                            [ {Name,Pid} || {Name,_Spec,Pid,_Time} <- Children ]
                           end,
                           z_supervisor:which_children(State#state.sup))).
  -
   
   %% @doc Get a list of all valid modules
   valid_modules(Context) ->
  
positive.code: handle_get_modules(State) ->
      [ Name || {Name,_Pid} <- handle_get_modules_pid(State) ].
  
  
  %% @doc Return the list of module names and their pid currently managed by the z_supervisor.
  handle_get_modules_pid(State) ->
  
negative.code:     sets:fold(fun (Module, ok) ->
              z_supervisor:add_child_async(ModuleSup, module_spec(Module, Context)),
              ok
          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)
      
      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.
  