Упростил и рефакторил. Убрал медиатор. Вкрутил всё в один контроллер.
sub state