       submit = $(this).find('input[type=submit]')
       label = $(submit).val()
       bottomBar = $(this).find('.bbm-modal__bottombar')
-      $(bottomBar).find('.next').html(label).show().addClass('submit').removeClass('next')
+      $(bottomBar).find('.next').html(label)
+                                .show()
+                                .addClass('submit')
+                                .removeClass('next')
       $(submit).hide()
+
+    when 'setDisplay'
+      if argument is 'submitting'
+        $(this).find('.bbm-button').css('opacity', 0.5)
+        # clone submit to remove click handlers
+        submit = $(this).find('.submit').text('Submitting...').css('opacity', 1.0)
 
     when 'show'
       req = modals[path]

              $(oldStep).replaceWith $(step).clone()
            , 20)

          nextStep: (e) ->
            e.preventDefault()
            
            # updates invisible form with changes made in this step.
            section = $(e.target).parents('.modal').find('.bbm-modal__section')
            step = $(form).find('*[data-modal-step]')[@currentIndex]
            $(step).replaceWith(section.children('*[data-modal-step]')[0])

            @next()

          beforeSubmit: beforeSubmit
        }
      else
        { 
          cancelEl: '.close'
          submitEl: '.submit'
          template: _.template($(modal).html())
          beforeSubmit: beforeSubmit
          onRender: ->
            $(this.el).modal('replaceSubmit')
        }

      Modal = Backbone.Modal.extend(modalOptions)

      form = $("form[data-path='#{path}']")
      steps = $(form).find('*[data-modal-step]')
      modal = $("script[type='text/template'][data-path='#{path}']")

      modalOptions = if steps.length > 0

