I've recently started working on Android architecture components. I found MVVM architecture to be extremely handy, and I would like to master it. When designing my apps, should I be using multiple ViewModels for different activities/fragments or should I be using a single ViewModel for all activities/fragments? What are the pros and cons of these two approaches? Thank you.