From my historical perspective, there was an overuse of using setters, in part because the XML to support constructor injection was not very good, for example even 'c' namespace was very late to the game.  I try now to also use ctor args for required variables, in particular if the construction is going to be hidden behind a namespace anyway.  However, I can see how it might make existing users of batch a bit 'confused' as for the switch in style.