@webtop почти так, только в репозитории следует выносить только методы типа findBySomeField, getListByCreated, findOneByFieldAndSortByAnotherTable, которые не зависят от менеджера. Остальное остается на уровне сервиса.
ну не вся же работа должна происходить в сервисах, например, какой-нибудь хелпер для категорий в блоге, не будешь же ты их из контроллепа отдавать. Хорошее решение с prepareElement() надо запомнить, на всякий случай