update: Factory Pattern Diagram