Extract actual work of ViewModel into separate class
This and that
Add some tests