Getting a value with timeout using Kotlin coroutines
Think it's pretty good and you can't think of much else. Some tiny bits I can think of:


Make discoveryService parameter.
Do not use launch without specifying CoroutineScope.