Backbone.js Pusty atrybut tablicy

Mam problem z modelem Backbone.js, w którym element tablicy jest wyświetlany jako pusty. Wygląda to mniej więcej tak:

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);

        // ...
    }
});

Następnie dodaję widżet przezaddWidget. Podczas próbygetWidget wynik jaki otrzymałem (w Chrome) to:

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

Pokazuje, że widżety nie są puste podczas logowaniathis.attributes ale podczas logowania jest wyświetlany jako pustythis.attributes.widgets. Czy ktoś wie, co by to spowodowało?

EDYTOWAĆ Zmieniłem model, aby utworzyć instancję tablicy widżetów w metodzie inicjalizacji, aby uniknąć odniesień w wielu instancjach i zacząłem używaćzagnieżdżony szkielet bez szczęścia.

questionAnswers(3)

yourAnswerToTheQuestion