Model-View-ViewModel framework for winforms application