Basic configuration is called from one file, other (like inner objects) from other files or nested directories - usually from a custom factory method.
In the same folder structure: a template is used for all objects from lower directories. If the template is for an abstract class, this currently forces the use of classloading and internals
either:
Given Create methods an additional, optional Closure which is applied after the script
create an additional applyFrom method
Allow Creation of templates from scripts (Create.TemplateFrom
Allow to modify the phase mechism for creation of top-level object
expose some more methods of FactoryHelper and make it an "advanced technique"
(4) is most dangerous
(2) and (3) are both more generic approaches, (2) could be done via (3) (copyFrom(Bla.Create.Template(script))
Scenarios:
either:
(4) is most dangerous (2) and (3) are both more generic approaches, (2) could be done via (3) (copyFrom(Bla.Create.Template(script))
So best option would be (3)