Bind to computed array proxy computed properties

HTML

<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.3.js"></script>
<script type="text/x-handlebars">
    <h1> Total Weight: {{App.thingsController.totalWeight}}</h1>
    <h2> Total Weight Units: {{App.thingsController.totalWeightUnits}}</h2>
    
    {{#each App.thingsController tagName="ul"}}
        {{#view App.ThingView contentBinding="this"}}
            {{weight}} - {{percentWeight}}  % - {{weightUnits}}
    {{#view deleteButton}}Delete{{/view}}
    {{/view}}
    {{/each}}
    
</script>

JavaScript

window.App = Ember.Application.create({

});

App.Thing = Ember.Object.extend({
    weight: null,
    unitConversionFactor: 1.0006502112957782,
    
    weightUnit: function() {
        return this.get('weight') * this.get('unitConversionFactor');
    }.property('weight')
});

App.set('thingsController', Ember.ArrayProxy.create({
    content: [
        App.Thing.create({weight: 100}),
        App.Thing.create({weight: 200}),
        App.Thing.create({weight: 300}),
        App.Thing.create({weight: 400})
        ],
     
    totalWeight: function() {
        var totalWeight = 0;
        this.get('content').forEach(function(item) {
            totalWeight += item.get('weight');
        });
        return totalWeight;
    }.property('@each.weight'),
    
    totalWeightUnits: function() {
        var total = 0;
        this.get('content').forEach(function(item) {
            total += item.get('weightUnit');
        });
        return total;
    }.property('@each.weightUnit'),
    
    deleteThing: function(item) {
        this.removeObject(item);
    }
}));
    
App.ThingView = Ember.View.extend({
    things: App.thingsController,
    weightBinding: 'content.weight',
    weightUnitsBinding: 'content.weightUnit',
    unitConversionFactorBinding: 'App.thingsController.unitConversionFactor',

    percentWeight: function() {
        var weight = this.getPath('content.weight');
        var totalWeight = this.getPath('things.totalWeight');
        return (weight / totalWeight) * 100;
    }.property('content.weight', 'things.totalWeight'),

    deleteButton: Ember.Button.extend({
        click: function(event) {
            var item = this.getPath('contentView.content');
            App.thingsController.deleteThing(item);
        }
    })
});