code: func ToChan(ch chan NamedMappingGenericEvent, opts ...interface{}) func(dto NamedMappingGenericEvent) {
  
  	timeout := DefaultNotifTimeout
  	var logger logging.Logger = logrus.DefaultLogger()
  
  	/*for _, opt := range opts {
  		switch opt.(type) {
  		case *core.WithLoggerOpt:
  			logger = opt.(*core.WithLoggerOpt).Logger
  		case *core.WithTimeoutOpt:
  			timeout = opt.(*core.WithTimeoutOpt).Timeout
  		}
  	}*/
  
  	return func(dto NamedMappingGenericEvent) {
  		select {
  		case ch <- dto:
  		case <-time.After(timeout):
  			logger.Warn("Unable to deliver notification")
  		}
  	}
  }
docs: // ToChan creates a callback that can be passed to the Watch function
  // in order to receive notifications through a channel. If the notification
  // can not be delivered until timeout, it is dropped.