     branch: true # This element will show up in the sidebar listing
 
     initialize: () ->
+      super {root:@}
+
       # Contains all entries in the OPF file (including images)
       @manifest = new Backbone.Collection()
       # Contains all items in the ToC (including internal nodes like "Chapter 3")

      # This way we can ignore firing events when Backbone is parsing as well as
      # when we are internally updating models.
      setNavModel = (options) =>
        options.doNotReparse = true
        @navModel.set 'body', @_serializeNavModel(), options

      @tocNodes.on 'tree:add',    (model, collection, options) => @tocNodes.add model, options
      @tocNodes.on 'tree:remove', (model, collection, options) => @tocNodes.remove model, options

      @tocNodes.on 'add remove', (model, collection, options) =>
        setNavModel(options)
      @tocNodes.on 'tree:change change reset', (collection, options) =>
        # HACK: `?` is because `inherits/container.add` calls `trigger('change')`
        setNavModel(options)

      @load()

      super {root:@}

    _loadComplex: (fetchPromise) ->
      fetchPromise


            model = @newNode {title: title, htmlAttributes: attributes, model: contentModel}

            collection.add model, {doNotReparse:true}

            @listenTo model, 'change:title', () =>
              console.warn 'TODO: BUG: Change the title in the ToC'

          else if $span[0]
            model = new TocNode {title: $span.text(), htmlAttributes: attributes, root: @}

            # Recurse and then add the node. that way we reduce the number of notifications
            recBuildTree(model.getChildren(), $ol, contextPath) if $ol[0]
            collection.add model, {doNotReparse:true}

          else throw 'ERROR: Invalid Navigation Tree Structure'

          # Add the model to the tocNodes so we can listen to changes and update the ToC HTML
          @tocNodes.add model, {doNotReparse:true}


      $root = $body.find('nav > ol')
      @tocNodes.reset [@], {doNotReparse:true}
      @getChildren().reset([], {doNotReparse:true})
      recBuildTree(@getChildren(), $root, @navModel.id)


