val Users = functionalComponent {
    var users: Array<out User> by useState(emptyArray())
    val service = useService() // HTTP service
    val group = useUserGroup() // Group from context
    
    useEffect(group) {
        cancellableAsync {
            users = service.getUsers(group)   
        }
    }

    // draw users
}

// common method
fun cancellableAsync(
    block: suspend CoroutineScope.() -> Unit
): () -> Unit {
    val job = GlobalScope.launch(block = block)
    return { job.cancel() }
}