Simple MVVM framework