Fun with Design Patterns (circular_buffer...)