using System.Diagnostics; namespace Toolkit.Foundation; public class Initialization : IInitialization { private readonly Func> factory; public Initialization(Func> factory) { this.factory = factory; } public async Task InitializeAsync() { foreach (IInitializable? initializer in factory()) { if (initializer is not null) { Trace.WriteLine(initializer.GetType()); await initializer.InitializeAsync(); Trace.WriteLine("Done"); } } } }