Origin/factory pattern