Introduction to Design Patterns.