using Microsoft.Extensions.DependencyInjection; namespace Hyperbar.Widget; public class WidgetHostHandler(IWidgetHostCollection widgetHosts) : INotificationHandler> { public async Task Handle(Create args, CancellationToken cancellationToken) { if (args.Value is IWidgetHost host) { widgetHosts.Add(host); if (host.Services.GetServices() is IEnumerable initializations) { foreach (IInitializer initialization in initializations) { await initialization.InitializeAsync(); } } } } }