can't you bound ```T``` and say that ```T extends Event<K,V>```?