The videostore example from Martin Fowler's Refactoring.