public override async ValueTask Initialize(ILifetimeScope scope) { // migerate db await scope.MigrateDbContext <BeatmapDownloaderDatabaseContext>(); // subscribe events scope.Subscription <MultiplayerBeatmapIdInfo, MultiplayerDownloadService>(); scope.Subscription <BeatmapDownloadAddressPrepared, BeatmapDownloadService>(); scope.Subscription <OsuProcessMatchedEvent, BeatmapDownloadService>(); // add download provider options to UI await scope.AddDownloadProviderUIOptions <SayobotDownloadProvider>(); await scope.AddDownloadProviderUIOptions <BloodcatDownloadProvider>(); }