Backbone.js atributo de matriz vacía

Tengo un problema extraño con un modelo Backbone.js en el que un miembro de la matriz se muestra en blanco. Se ve algo como esto:

var Session = Backbone.Model.extend({
    defaults: {
        // ...
        widgets: []
    },
    addWidget: function (widget) {
        var widgets = this.get("widgets");

        widgets.push(widget);
        this.trigger("change:widgets", this, widgets);
    },
    // ...
    // I have a method on the model to grabbing a member of the array
    getWidget: function (id) {
        console.log(this.attributes);
        console.log(this.attributes.widgets);

        // ...
    }
});

Luego agrego un widget a través deaddWidget. Cuando intentogetWidget El resultado que obtengo (en Chrome) es este:

Object
    widgets: Array[1]
        0: child
        length: 1
        __proto__: Array[0]
    __proto__: Object
[]

Está mostrando que los widgets no están vacíos cuando se registrathis.attributes pero se muestra vacío cuando se registrathis.attributes.widgets. ¿Alguien sabe qué causaría esto?

EDITAR He cambiado el modelo para crear una instancia de la matriz de widgets en el método de inicialización para evitar referencias en varias instancias, y comencé a usarcolumna vertebral anidada sin suerte

Respuestas a la pregunta(3)

Su respuesta a la pregunta