Since the Android Architecture components LiveData classes were released, I've been trying to integrate it into an MVVM architecture where the final hop between the ViewModel and View use LiveData for this communication. Why LiveData and not RxJava? The main reason is LiveData was architected specifically with the lifecycle of