2021 Update: This guidance is deprecated in favor of the official guidelines. A convenient way for a view (activity or fragment) to communicate with a ViewModel is to use LiveData observables. The view subscribes to changes in LiveData and reacts to them. This works well for data that is displayed in a screen continuously. Instead of trying to solve this with libraries or extensions to the Archite