Major refactoring of models and view models.