Spriteをモデルとして扱い、モデルのフィールドデータを監視したい(再)

Enchantにおいて以下のようにSpriteを拡張してモデルとして扱っている(例えばプレイヤーのHPとかをSpriteのメンバ変数にいれるなどの)コードを書くと思うのですが、

```javascript
var player = enchant.Class.create(enchant.Sprite, {
    initalize: function(width, height){
        enchant.Sprite.call(this, width, height);
        this.hp = 1000:
    } 
});
```
ここで、例えばプレイヤーのHPが減った際にHPバーのゲージを下げるという処理を書くとします。

その時にイベントハンドラとしてプレイヤーのHPが減ったというイベントを監視する、つまりはプレイヤーのモデルのフィールドデータに対してObserver Patternを適用できれば便利かなと思いました。

この実装をフレームワークが面倒を見るかは分からないのでもし良かったら追加お願いします。
プラグインとして追加したので他に影響を出すことはないと思います。

(追記)
インデントが揃ってない部分があったので最後送らせていただきます。