public BlocksCoreBuilder ConfigureServices(Action <IServiceCollection, IServiceProvider> action, int order = 0) { if (!_actions.TryGetValue(order, out var currentActions)) { currentActions = _actions[order] = new List <Action <IServiceCollection, IServiceProvider> >(); ContainerService.AddTransient <IModuleStartup>((s) => new SystemModuleStartup(order: order, serviceProvider: s.GetRequiredService <IServiceProvider>(), configureServicesActions: currentActions)); } currentActions.Add(action); return(this); }