Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines