func NewEventHandler(app *application, evt *v1.Event) EventHandler {
	key := registryKey{APIVersion: evt.InvolvedObject.APIVersion, Kind: evt.InvolvedObject.Kind}
	factory := handlerRegistry[key]
	if factory != nil {
		if handler := factory(app, evt); handler != nil {
			return handler
		}
	}
	return NewDefaultEventHandler(app, evt)
}
NewEventHandler is a factory function to create the right EventHandler for an event
package main
import (
	v1 "k8s.io/api/core/v1"
)
type EventHandler interface {
	Fingerprint() []string
	Tags() map[string]string
}
type registryKey struct {
	APIVersion string
	Kind       string
}
var handlerRegistry = map[registryKey]func(*application, *v1.Event) EventHandler{
	{APIVersion: "v1", Kind: "Pod"}: NewPodEventHandler,
}