Вы не уловили сути идеи гексагоналок судя по всему. В частности вся соль гексагоналки заключается в том, что бы при помощи инверсии зависимости (не путать с контейнером зависимисти или IoC) отделить слои друг от друга. В частности отделить ваш код от кода фреймворка. Далее уже идут концепции из луковой архитектуры. Гексагоналка лишь описывает что должно быть на границах слоев.
То есть если все эти 3 помощника объединить в один, как и сделали в 5.1 то это ведь даже лучше, правда?
Нет, это просто упрощение. В целом это увеличивает зависимость вашего кода от кода фреймворка, а разделить по слоям сами юз кейсы и хэндлеры уже не выйдет.
и еще пожалуйста один момент как быть скажем с обработкой таких форм когда создаются например 3 сущности одновременно?
А теперь опишите ваш случай в виде юз кейса. Когда вам такое понадобиться может? И причем тут формы? Формы это часть интерфейса, то от чего мы хотим изолировать наше приложение.
короч.. лучше не практикуйте пока гексагоналки, они вам пока не нужны. Все эти приемы приследуют определенную цель. И если у вас нет причин для этого, вроде... возможности быстро организовать еще один интерфейс к приложению, например черей MQ, или же у вас есть потребность в изоляции слоев для лучшей тестируемости оных... Или у вас сложная архитектура базы данных (что звучит маловероятно при использовании active record) и вы хотите применить CQRS что бы упростить работу с оными...
Вы должны четко понимать зачем это все нужно. Иначе есть шанс что вы архитектуре своего приложения сделаете только хуже. Просто так такого рода усложнения делать просто не целесообразно.