@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface EventHandler
Mark a method or field as an event handler
The method can have no parameters or one parameter which is the event
The field has to be a Runnable or a Consumer
If no event parameter is specified (methods without parameter/consumer fields), events() has to be specified