subscribe

fun subscribe(listener: Listener)
fun <T : Event> subscribe(eventClass: Class<T>, action: (T) -> Unit)
fun <T : Event> subscribe(eventClass: Class<T>, action: (T) -> Unit, priority: EventPriority): SubscribedListener<T>