Going by this image, the lifecycle of a ViewModel is pretty much like that of an Activity instance, so why not just use an activity instance variable? Is a ViewModel better because of the automatic call to onClear? Or because it is observable (in which case why not just have observable, normal member variables)? 