namespace Toolkit.Foundation; public class TrackedProperty(T initial, Action revert, Func commit) { public void Commit() => initial = commit(); public void Revert() => revert(initial); }