Design Patterns
Data and Object Factory