on

suspend fun on(coroutineScope: CoroutineScope = CoroutineScope(Dispatchers.Main), handler: suspend (Any) -> Unit): Job