dispatch(actionType, payload) {
    if (this.__batchDepth === 0) {
      if (fns.getOption(this.reactorState, 'throwOnDispatchInDispatch')) {
        if (this.__isDispatching) {
          this.__isDispatching = false
          throw new Error('Dispatch may not be called while a dispatch is in progress')
        }
      }
      this.__isDispatching = true
    }

    try {
      this.reactorState = fns.dispatch(this.reactorState, actionType, payload)
    } catch (e) {
      this.__isDispatching = false
      throw e
    }

    try {
      this.__notify()
    } finally {
      this.__isDispatching = false
    }
  }
Dispatches a single message
@param {string} actionType
@param {object|undefined} payload