code: func (e *EventSubscriber) loop() {
  	defer close(e.Events)
  	for {
  		select {
  		case <-e.stop:
  			return
  		case event := <-e.queue:
  			e.Events <- event
  		}
  	}
  }
docs: // loop pops events off the queue and sends them to the Events channel.