Organize calculation in service + models.
Rewrite ViewModels with new organization.