ViewModel constructor flexibility

Allow ViewModel constructor flexibility