Такую логику следует выносить в отдельный класс-сервис