Learning Design Patterns: A Summary