/**
 * Books page
 */
define([
    "underscore",
    "backbone",
    "views/SpinesByLetterView"
],
function(_, Backbone, SpinesByLetterView) {
    var BooksPage = Backbone.View.extend({
        events: {},

        initialize: function(options) {
            this.$collapsibleParent = this.$("[role='main']");
            this.spineCollection = _.has(options, "spineCollection") ? options.spineCollection : null;
            return this;
        },

        render: function() {
            this.collection.each(this.addOne, this);
            return this;
        },

        addOne: function(model) {
            var view = new SpinesByLetterView({
                model: model,
                spineCollection: this.spineCollection
            });
            view.render();
            this.$collapsibleParent.append(view.$el);
            view.postRender();
            model.on("remove", view.remove);
        }
    });

    return BooksPage;
});

@@ -303,16 +303,77 @@
 in'%5D%22);%0A
+            // Hold spine collection to pass to child views.%0A
         
@@ -467,16 +467,242 @@
 : null;%0A
+            // EVENTS //%0A            // Render when the books_by_letter data syncs.%0A            this.listenTo(this.collection, %22sync%22, this.render);%0A            this.listenTo(this.collection, %22reset%22, this.onCollectionReset);%0A
         
@@ -1135,32 +1135,32 @@
 w.postRender();%0A
-
             mode
@@ -1185,16 +1185,143 @@
 w.remove
+, view);%0A        %7D,%0A%0A        onCollectionReset: function() %7B%0A            console.info(%22%5BBooksPageView%5D%22, %22collection was reset%22
 );%0A     

Add events to render when collection syncs