code: func (eventBroadcaster *eventBroadcasterImpl) StartEventWatcher(eventHandler func(*v1.Event)) watch.Interface {
  	watcher := eventBroadcaster.Watch()
  	go func() {
  		defer utilruntime.HandleCrash()
  		for watchEvent := range watcher.ResultChan() {
  			event, ok := watchEvent.Object.(*v1.Event)
  			if !ok {
  				// This is all local, so there's no reason this should
  				// ever happen.
  				continue
  			}
  			eventHandler(event)
  		}
  	}()
  	return watcher
  }
docs: // StartEventWatcher starts sending events received from this EventBroadcaster to the given event handler function.
  // The return value can be ignored or used to stop recording, if desired.