               merge = confirm('The ' + singularName + ' being edited by this form has been
                   modified. Do you want to merge changes?')
             if merge then Form.mergeLatestDoc(template)
+            updateDocs()
           deleted: (doc) ->
             return unless docHasChanged(doc)
             alert('The ' + singularName + ' being edited by this form has been removed.')
+            updateDocs()
             # TODO(aramk) Change the form to insert.
+
+    Form.getReactiveDoc = (template) -> Form.getTemplate(template).reactiveDoc.get()
 
     ################################################################################################
     # AUXILIARY

    Form.setUpReactivity = (template) ->
      template = getTemplate(template)
      docs = Form.getDocs()
      # If no docs exist, no reactive updates can occur on them.
      return unless docs.length > 0
      docIdMap = {}
      _.each docs, (doc) -> docIdMap[doc._id] = true
      collection = Form.getCollection()
      singularName = Form.getSingularName()
      # Check if the doc has changed and ensure the current form is not submitting to prevent
      # self-detection.
      docHasChanged = (doc) -> docIdMap[doc._id]?# && !template.isSubmitting
      template.autorun ->
        Collections.observe collection,
          changed: (doc) ->


      # if Form.isBulk()
      #   Form.setUpBulkFields()

      if @data.docPromise?
        Q.when(@data.docPromise).then => Form.mergeLatestDoc(@)
