Да, по сути именно так и реализуется основная идея MVI. В идеале ещё нужно иметь тип для внутренних ивентов, которые непосредственно меняют стейт в редюсере. А ещё, когда я пробовал такой подход с RxPM, я оставлял несколько экшенов для разных интентов, просто от каждого экшена была своя цепочка превращений во внутренние ивенты, на которые подписывался один и тот же реле, который потом scan-ом меняет стейт через редюсер.
Спасибо за фидбек.
Я пока не вижу большого профита, в RxPM есть много экшенов, от них идут цепочки, которые в конце биндятся в стейты. Цепочка по сути - это редьюсер с сайд эффектами. ViewState-ом по сути является PresentationModel, только она мутабельная. Неконсистентность стейта? Похоже что можно решить путем синхронизации изменения стейта в одном потоке. Вообщем выгода пока неочевидна, если количество кода возрастет. Но нужно похоже пробовать на реальном проекте, чтобы сформировать опытное мнение.