What a Bag of Frozen Blueberries Can Teach you about Software Design