Cancellation and timeouts | Kotlin