Pronto, se esta explicação não foi suficiente volto a por como estava: ignorando o single responsability priciple no qual os controllers não deviam fazer mais que chamar os services e fazer redirects para não ficar muito nhecs. Se fores ver o objecto UsersUpdateController ves claramente o que ele é responsavel por fazer, os métodos são pequenos e o que ele faz corresponde ao que o nome indica. Agora, se eu colar este código como está no users controller vai ja ficar uma confusão por causa do succeeded e failed, tinha de mudar os nomes para algo como update_succeeded e failed_succeeded. Agora podem dizer para não usar este pattern e meter isto como estava antes, e passamos a ter um método com bue de linhas. Mas mesmo que consigamos repartir tudo que esta no users controller em métodos mais pequenos para a cena das 5 linhas(mais ou menos) além de aumentar o tamanho da classe imagina a confusão de métodos pequenos que não tem nada a ver um com o outro. Eu prefiro olhar para os controllers como objectos, pelo menos esta separação parece-me tornar as coisas mais simples.