namespace Toolkit.Foundation; public partial class ConfigurationValueViewModel(IServiceProvider provider, IServiceFactory factory, IMediator mediator, IPublisher publisher, ISubscriber subscriber, IDisposer disposer, TConfiguration configuration, IWritableConfiguration writer, Func read, Action write) : ValueViewModel(provider, factory, mediator, publisher, subscriber, disposer), INotificationHandler> where TConfiguration : class { public Task Handle(ChangedEventArgs args) { throw new NotImplementedException(); } protected override void OnChanged(TValue? value) { writer.Write(args => write(value, args)); base.OnChanged(value); } public override Task OnActivated() { Value = read(configuration); return base.OnActivated(); } }