Fun with Design Patterns