а чего не в Интеракторе тогда, как вариант?
Вообще тоже хороший вопрос, на который у меня нет четкого ответа. Как и где осуществлять кеширование
Если репозиторий всегда возвращает чистые данные, типа "Observable<Message>", то сталкиваемся с проблемой, что нужно как-то донести до интерактора, вернулись ли "хорошие" данные (кэш и сеть) или только закешированные (к примеру, сеть отвалилась).