Object System Design Patterns