__notify() {
    if (this.__batchDepth > 0) {
      // in the middle of batch, dont notify
      return
    }

    const dirtyStores = this.reactorState.get('dirtyStores')
    if (dirtyStores.size === 0) {
      return
    }

    fns.getLoggerFunction(this.reactorState, 'notifyStart')(this.reactorState, this.observerState)

    let observerIdsToNotify = Immutable.Set().withMutations(set => {
      // notify all observers
      set.union(this.observerState.get('any'))

      dirtyStores.forEach(id => {
        const entries = this.observerState.getIn(['stores', id])
        if (!entries) {
          return
        }
        set.union(entries)
      })
    })

    observerIdsToNotify.forEach((observerId) => {
      const entry = this.observerState.getIn(['observersMap', observerId])
      if (!entry) {
        // don't notify here in the case a handler called unobserve on another observer
        return
      }
      let didCall = false

      const getter = entry.get('getter')
      const handler = entry.get('handler')

      fns.getLoggerFunction(this.reactorState, 'notifyEvaluateStart')(this.reactorState, getter)

      const prevEvaluateResult = fns.evaluate(this.prevReactorState, getter)
      const currEvaluateResult = fns.evaluate(this.reactorState, getter)

      this.prevReactorState = prevEvaluateResult.reactorState
      this.reactorState = currEvaluateResult.reactorState

      const prevValue = prevEvaluateResult.result
      const currValue = currEvaluateResult.result

      if (!Immutable.is(prevValue, currValue)) {
        handler.call(null, currValue)
        didCall = true
      }
      fns.getLoggerFunction(this.reactorState, 'notifyEvaluateEnd')(this.reactorState, getter, didCall, currValue)
    })

    const nextReactorState = fns.resetDirtyStores(this.reactorState)

    this.prevReactorState = nextReactorState
    this.reactorState = nextReactorState

    fns.getLoggerFunction(this.reactorState, 'notifyEnd')(this.reactorState, this.observerState)
  }
Notifies all change observers with the current state
@private