using Toolkit.Foundation; namespace Bitvault; public class VaultCollectionInitializer(IEnumerable> configurations, IComponentFactory componentFactory, IVaultHostCollection vaults) : IInitializer { public async Task Initialize() { foreach (IConfigurationDescriptor configuration in configurations) { if (componentFactory.Create(configuration.Section, configuration.Value) is IComponentHost host) { vaults.Add(host); await host.StartAsync(); } } } }