Чтобы внести небольшую ясность. Я под репозиторием подразумеваю такой объект, который скрывает под собой сеть и хранилище. То есть к нему обращаешься, а он сам знает откуда данные брать или куда их класть. Тут надо смотреть на конкретный случай, возможно вынести общую логику в репозиторий (например, логику кэширования)