       # Without this a separate copy is passed across, which doesn't allow sharing data between
       # create method and form hooks.
       doc: -> Tracker.nonreactive -> Form.getValues()
-      formTitle: -> Form.getFormTitle()
-      formType: ->
+      formTitle: -> Tracker.nonreactive -> Form.getFormTitle()
+      formType: -> Tracker.nonreactive -> 
         return if Form.isBulk()
         doc = Form.getDocs()[0]
         type = Form.getTemplate().settings.formType

        if type == undefined then type = formArgs.type
        if type == undefined then type = (if doc then 'update' else 'insert')
        type
      submitText: -> if Form.getDocs().length > 0 then 'Save' else 'Create'
      hasDoc: -> Form.hasDoc()
      isBulk: -> Form.isBulk()
      autosave: -> formArgs.autosave

          value = parseFloat(value).toFixed(2)
          Forms.setInputValue($input, value)
      template.formDoc = Form.getInputValues(template)

    Form.setUpAutosave = (template) ->
      template = getTemplate(template)
      $form = Form.getElement(template)
      schemaInputs = Form.getSchemaInputs(template)
      # Changing dropdown fields doesn't trigger a form change.
      _.each schemaInputs, (input, key) ->
        $input = $(input.node)
        return unless Forms.isDropdown($input)
        $input.on 'change', -> $form.submit()
    
    Form.getFormTitle = ->
      collectionName = Collections.getTitle(Form.getCollection())
