View ViewModel Service Layer ViewModel Android Architectural Component Coroutines Android Architectural Component ViewModel Helper (Activity, Fragment) Service 1 Service 2 Service 3 Service N Repository Data Model Dummy activity/fragment A loosely coupled view Lightweight, clean code and easy to manage ViewModels SRP 1) Fetch, Store then Update. 2) Update from cache, Ftech, Store then Update. Caching Manager