                     # See aloha.coffee for where this is used
                     window.GLOBAL_UPLOADER_HACK = () =>
                       editableBody = alohaEditable.getContents()
-                      @model.set(value, editableBody)
-                      setChanged(@model, options.onEdit)
+                      setValue(editableBody)
 
                   # Update the model if an event for this editable was triggered
                   Aloha.bind 'aloha-smart-content-changed.updatemodel', (evt, d) =>

          else
            value = options.value

          setChanged = (model, onEdit) =>
            if /^currentPage\./.test(value)
              model.set('currentPage.changed', true)
              model.set('childChanged', true)

              # Changing a module's title also change's a book's ToC
              if /^currentPage.title$/.test(value)
                model.set('changed', true)
            else
              model.set('changed', true)

            onEdit.apply(@) if typeof onEdit is 'function'

          options.onBeforeEditable?($editable)

          switch options.type
            when 'textinput'
              $input = $('<input type="text" />')
              $input.attr('placeholder', "Enter a #{value} here").val(@model.get(value))
              $editable.html($input)
              $input.on 'change', () =>
                @model.set(value, $input.val())
                setChanged(@model, options.onEdit)

            # Setup contenteditable
            when 'contenteditable'

      @observers = {}

      @listenTo(@model, 'change:editable', @_toggleEditable)
      @listenTo(@model, 'change:currentPage', @_makeUneditable)

    onAfterRender: () ->
      # Make editable after rendering if editable flag is already set
