I love technical articles about how libraries are built. This is really great!<p>I don't follow the last part of the article though. Specifically this part:<p>> We accomplish this by (under the hood) allowing every bit of data that goes into a template to separate the process of computing its current value from the process of determining whether the value might have changed.<p>When you say "bit of data", what exactly do you mean? I assume you mean some field that is bound to a template. Like a property on glimmer component. Using KVO this would be a compute of some kind, that triggers an event when its value changes.<p>Perhaps you're doing something totally different, but I don't see how? Breaking it down, we have an object like:<p><pre><code> {
"foo": "bar"
}
</code></pre>
I think you're saying that you don't observe this object (using some kind of obj.set('foo', 'baz') convention) but rather determine that the value changed by some other means. If that is so, what is the other means?