Annotation based model factory for Java.
A Model is mapped by a Blueprint using annotated fields. Blueprints contain
default values and references to other blueprinted models. The ModelFactory can
create Models based on registered Blueprints. A Model already created can be
passed into the ModelFactory as a Reference Model, which will be used as the basis
for the new Model.