Mastering Factory Design Patterns in a real-world application