emberjs/ember.js — pull request #2517 by ppcano (2013-04-21 09:30:01+00:00)
Title: CoreObject.willDestroy is sync called and should be able to clean up bindings

The use case is to provide an object the ability to clean up any related two-way bindings during its `willDestroy` hook.

```js
Em.View.extend({
valueBinding: 'xxxx',

willDestroy: function() {
set(this, 'value', true);
}
});
```

Maybe, this change affects some way to the current behavior which was introduced at this [commit](https://github.com/emberjs/ember.js/commit/604753e99bb9a24d12aba96f87f827b4365a47f0), but all the tests pass.

In the case, that this change cannot be applied:
- which is the common intention of the `willDestroy` hook?
- how could this use case be done?