Design Patterns implementations.