Talking about target-action or delegation in this context is IMHO a misunderstanding. These are very nice and valid solutions, but in my experience they are simply not enough to build a structured non-trivial app with. They are the basic building blocks, but there has to be something above them.
Of course, it’s also a mistake to go overboard with structure, drowning the important bits in architecture boilerplate. Architecture cannot and must not be followed blindly, as a cooking book. You have to aim for a reasonable compromise, a point of diminishing returns.