A simple and useful MVVM framework that supports dependency injection