Если в клиенте много логики т.е. ифов, много состояний зависят друг от друга, то становится не до игрушек чистоты функций и мутабельности обьектов, все это будет вносить больше сложности, чем решать проблем.
чет вот у меня куча ифов в приложении и пока мне общее состояние кажется более правильным подходом, нежели текущая размазанная история (возможно, дело вменяемого соотношения чистоты и грязи)