Patron Builder, Decorator, etc.