setValue method
Asynchronously sets the value for the given key using onSetValue, then emits the new value to the subject.
Ensures UI components listening to the stream (e.g., ArcaneField) update immediately after persistence. Chains the set operation with subject emission via .thenRun, with no additional error handling beyond the underlying setter. Returns a Future<void> for completion tracking.
Implementation
Future<void> setValue(String k, T value) =>
onSetValue(k, value).thenRun((_) => subject.add(value));