MVVM framework for Java applications