       onNextStep: ->
         channel.emit("leave.#{step.id}")
 
+      waitingText: (isWaiting and ' Saving…') or ''
+
     if taskId?
       wrapperProps =
         'data-step-number': tasks.getStepIndex(taskId, step.id) + 1

    </div>

  render: ->
    {step} = @state
    {taskId} = @props
    return null if _.isEmpty(step)


{Reactive} = require '../reactive'
apiChannelName = 'exercise'

WAIT_STATES = ['loading', 'saving']

ExerciseBase = React.createClass
  displayName: 'ExerciseBase'
  getInitialState: ->
