just one thing I see with that is, I have to wrap main block with this function, but after I want to add multiple compositions (before I was using Rx with custom transformers)
something like
Copy code
launch(CommonPool) {
withLoading(...)
whenEmpty(...)
whenNetworkError(...)
val result = ApiClient.getSomething().awaitResult()
doSomethingWithResult(result)
}