лучше чтобы модели занимались только получением и записыванием данных. В контроллерах вся логика именно взаимодействия с веб слоем (аналогично для консольных команд для работы с консолью), то есть получение данных и преобразование их во внутренний формат, а также отбражение результата в консоль или ХТМЛ в браузер. А всю бизнес логику приложения выносить в сервисы, в которых исключить любое взаимодействие с веб-слоем (сессии, куки, получение HTML) или консолью (stdin,stdout, stderr).
добавляйтесь в линкедин :) https://www.linkedin.com/in/%D1%81%D0%B5%D1%80%D0%B3%D0%B5%D0%B9-%D0%BC%D0%B5%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2-92aa05a3