ООП в контроллерах не нужно, ФБ наше все
Ну а как же? ООП нужно там, где:
  • много объектов для обобщения;
  • есть вероятность замены этих объектов на структурно отличающиеся, но похожие (либо тип объектов заранее неизвестен)
  • объекты структурно сложные.

Без этого получается ООП ради ООП — лишний код, создающий иррелевантную структуру и видимость упорядоченности.

В кодесисе с ООП разве что многослойные протоколы обмена писать, но такие вещи обычно уровнем ниже поддерживаются. Ну или в серийных изделиях может пригодиться.