Filtro de la red troncal por valor de atributo.

Tengo un modelo definido y una colección:

var Box = Backbone.Model.extend({
    defaults: {
        x: 0,
        y: 0,
        w: 1,
        h: 1,
        color: "black"
    }

});

var Boxes = Backbone.Collection.extend({
    model: Box
});

Cuando la colección se llena con los modelos, necesito una nueva colección de Cajas hecha de modelos de Caja que tengan un atributo de color específico contenido en la colección completa, lo hago de esta manera:

var sorted = boxes.groupBy(function(box) {
    return box.get("color");
});


var red_boxes = _.first(_.values(_.pick(sorted, "red")));

var red_collection = new Boxes;

red_boxes.each(function(box){
    red_collection.add(box);
});

console.log(red_collection);

Esto funciona, pero me parece un poco complicado y poco eficiente. ¿Hay una manera de hacer esto mismo de una manera más simple?

Aquí está el código que describí:http://jsfiddle.net/HB88W/1/

Respuestas a la pregunta(2)

Su respuesta a la pregunta