mvvm barebones