this will mean every developer will have to implement there own builder class and include the module.

or if we keep it the way it is they will get it out the box for free and if they want to extend they will have to subclass and then do whatever they want