code: func NewEventClientRef(idleTimeout time.Duration, evtClientProvider eventClientProvider) *EventClientRef {
  	clientRef := &EventClientRef{
  		provider: evtClientProvider,
  	}
  
  	if idleTimeout == 0 {
  		idleTimeout = defaultTimeout
  	}
  
  	clientRef.ref = lazyref.New(
  		clientRef.initializer(),
  		lazyref.WithFinalizer(clientRef.finalizer()),
  		lazyref.WithIdleExpiration(idleTimeout),
  	)
  
  	return clientRef
  }
docs: // NewEventClientRef returns a new EventClientRef