remove setter from event
allow different event classes
allow other event classes as Generic