The ViewModel should expose states for the View, rather than just events. For example, if we need to display the name and the email address of a User, rather than creating two streams for this, we create a DisplayableUser object that encapsulates the two fields. The stream will emit every time the display name or the email changes. This way, we ensure that our View always displays the current state of the User.
Android Architecture Patterns Part 3: Model-View-ViewModel
Florina Muntenescu

If I use LiveData can I skip this step?