Programming Android with Kotlin : Achieving Structured Concurrency with Coroutines