           # Keep track of local changes if there is a remote conflict
           @_localNavAdded[model.id] = model
 
+
+      # If a node was added-to/removed-from a TocNode ensure it is/is-not in the set of `tocNodes`
+      # TODO: This may be redundant and may be able to be removed
       @tocNodes.on 'tree:add',    (model, collection, options) => @tocNodes.add model, options
       @tocNodes.on 'tree:remove', (model, collection, options) => @tocNodes.remove model, options
 
+      # When the book title changes update the OPF XML
+      # TODO: use the value of `@get('title')` when serializing instead.
       @on 'change:title', (model, value, options) =>
         $title = @$xml.find('title')
         if value != $title.text()
           $title.text(value)
           @_save()
 
+      # When a title changes on one of the nodes in the ToC:
+      #
+      # 1. remember the change
+      # 2. try to autosave
+      # 3. if a remote conflict occurse the remembered change will be replayed (see `onReloaded`)
       @tocNodes.on 'change:title', (model, value, options) =>
         return if not model.previousAttributes()['title'] # skip if we are parsing the file
         return if @ == model # Ignore if changing the OPF title

    branch: true # This element will show up in the sidebar listing

    initialize: () ->
      super {root:@}

      # Contains all entries in the OPF file (including images)

        delete @_savingTimeout
      ), SAVE_DELAY

    # A book is not loaded until the navModel is loaded.
    # Once the navModel is loaded, "autosave" whenever it changes.
    _loadComplex: (fetchPromise) ->
      fetchPromise
      .then () =>
