quicksteve
inline fun <reified T : Any> eventHandler(crossinline handler: (T) -> Unit) = object { @Handler fun event(event: T) = handler(event) }