It would require more work if we want to keep these semantics because you'd have to filter out changes triggered programmatically, but at the same time keep the current value up to date with them.