protected abstract fun saveCache(cache: CACHE, requirements: GET_CACHE_REQUIREMENTS): Unit
Save new cache response to whatever storage method Repository chooses.
It is up to you to call saveCache when you have new cache response to save. A good place to do this is in a ViewModel.
This will be called from background thread