on

inline fun <E : GenericEvent> on(events: SharedFlow<GenericEvent>, scope: CoroutineScope, noinline action: suspend (event: E) -> Unit): Job