Answer pending. Please hold on.

I see you've identified the following problems:

1. Repository layer sends raw data from the network api to the ViewModel forcing VM to do transformation and formatting making VM hard to test

2. A "God Repository" that is referenced in a large number of places throughout the codebase

3. Data transformation logic varies across different consumers (ViewModels), so there’s no single, consistent transformation