generated at
factory pattern
factory (object-oriented programming)