code: func NewEventChannel(buffer int) (EventHandler, <-chan Event) {
  	if buffer < 1 {
  		buffer = 1
  	}
  
  	eventChan := make(chan Event, buffer)
  
  	handler := func(event Event) {
  		select {
  		case eventChan <- event:
  		default:
  		}
  	}
  
  	return handler, eventChan
  }
docs: // NewEventChannel returns an SetGlobalEventHandler callback handler, and a channel that
  // produces the errors. When the channel buffer is full, subsequent errors will
  // be dropped. A buffer size of less than one is incorrect, and will be adjusted
  // to a buffer size of one.