Personally, i don’t find that approach very useful for more complex view models, so i created my own ViewModelFactory which takes a lamba function which will be used to produce the ViewModel. Along with that i have extension functions for Fragment and FragmentActivity to use it.