code: func (n *Notifier) Notify(eventType EventType, message string, increment bool) {
  	notif := &notification{
  		Type:      eventType,
  		Message:   message,
  		Increment: increment,
  	}
  
  	if increment {
  		n.Lock()
  		n.current++
  		n.Unlock()
  	}
  
  	n.RLock()
  	current := n.current
  	total := n.total
  	n.RUnlock()
  
  	if current > total {
  		panic(fmt.Sprintf(
  			"notifications exceed maximum %d/%d", current, total))
  	}
  
  	select {
  	case n.notifications <- notif:
  		return
  	case <-n.observerClosed:
  		return
  	case <-n.ctxDone:
  		return
  	}
  }
docs: // Notify publishes an event to all SSE observers. This function panics when it
  // is called more often than it is supposed to have been called.