When writing object oriented code, a pretty useful technique is delegation–letting one object figure things out by sending messages to another object.