How to get real attr values in didReceiveAttrs hook, if it's a mutable cell
<p>Please see below sample code.
Given I have a component <code>my-text-box</code></p>

<p><code>my-text-box.hbs</code></p>

<pre><code>{{my-text-box value=modelName}}
</code></pre>

<p>I want to observe the changes of <code>value</code> property via <code>didReceiveAttrs</code> hook instead of <code>observers</code> for better performance.</p>

<p><code>my-text-box.js</code></p>

<pre><code>didReceiveAttrs: function(args) {
    if (args.oldAttrs == null) {
        // This is the initial render, but I don't need to anything here.
    } else if (args.newAttrs.value != args.oldAttrs.value) {
        // supposed `value` was changed from outside, I can do something here...

        // BUT, `args.newAttrs.value` is not always the prop value, 
        // `Ember` would automatically wrap it with `{{mut}}` helper. 
        // The data structure would be: 
        // {
        //    value: value,
        //    update: function (val) {
        //        source.setValue(val);
        //    }
        // }
    }
}
</code></pre>

<p>What I want is that I don't have to care whether the attr value is a <code>mutable</code> cell or not, I should get a way that always get the real value. I see there is a <code>HTMLBars hook</code> <code>ember-htmlbars/hooks/get-value</code> but it's not exposed to public API. And what I'm thinking is that maybe <code>Ember</code> should change both <code>newAttrs</code> and <code>oldAttrs</code> to have direct values instead of those <code>mutable</code> objects.</p>

<p>Does anybody have a way to handle that? Thanks!</p>