Android discourages you from doing too much work on the main thread but managing threads is cumbersome and error prone. MvRx has a simple threading model that causes almost all of your code to run off of the main thread without ever having to worry about race conditions. This lesson will walk through the threading model and how it was designed in a safe and lifecycle aware way.
In your examples when you execute async actions using the Observable.execute() extension, you don't have any observeOn() in your chain. So I'm assuming that the updates to the Async property inside execute() are thread-safe and that I don't have to worry about the scheduler on which the observable is executed, right?