Один класс - одна доменная область. Данные + методы для работы с этими данными в одном месте - это удобно. Так еще наши диды писали. Так пишет ангуляр и ембер сообщество. Ноль проблем с поддержкой.
В это же время реакт сообщество уже пятый год не может понять как создать переиспользуемый компонент (миксины, декораторы, хоки, хуки).
Всё звучит разумно, только непонятно, причем тут MobX и как это связано с неспособностью реакт сообщества найти единственно верный путь (что кстати можно расценить как действующий пример демократии)
Насчёт дедов и ооп - ООП стиль (Который ТРУЪ, на классах с конструкторами) даёт вроде бы большую свободу, но требует странных и искуственных ограничений вроде паттернов проектирования (которые вообще были взяты частично из архитектуры и частично из промышленности) Которые нужны, чтобы разные разработчики понимали друг друга.
И вместо того чтобы писать простые функции для перегона одних типов данных в другие, мы вынуждены разбираться с адаптерами, абстрактными фабриками, декораторами, компоновщиками и фасадами.
Современные ЯП как раз и созданы в значительной мере для того, чтобы избавить разработчика от этого геморроя (недаром в самых свежих и популярных на бэке языках аля Go/Rust нет классового наследования и завозить не планируется) Зачем писать на классах в JS, имея first class citizen функции - для меня тайна, покрытая мраком.