protected abstract fun fetchFreshData(requirements: GET_DATA_REQUIREMENTS): Single<FetchResponse<FETCH_RESPONSE>>
Repository does what it needs in order to fetch fresh cacheData. Probably call network API.
Called on a background thread.