     isDone: false
     isFailed: false
     waitingText: 'Loading…'
-    failedState: RefreshButton
+    FailedState: RefreshButton
     failedProps:
       beforeText: 'There was a problem.  '
     doneText: ''

  render: ->
    {className, disabled} = @props
    {isWaiting, isDone, isFailed} = @props
    {children, waitingText, failedState, failedProps, doneText} = @props
    {isTimedout} = @state

    buttonTypeClass = 'async-button'
    FailedState = @props.failedState

    if isFailed or isTimedout
      stateClass = 'is-failed'

    isDone: React.PropTypes.bool
    isFailed: React.PropTypes.bool
    waitingText: React.PropTypes.node # TODO: This should be a Component or array
    FailedState: React.PropTypes.func
    failedProps: React.PropTypes.object
    doneText: React.PropTypes.node
    isJob: React.PropTypes.bool
