Start of Martin Fowler's blockbuster exercise from the Refactoring workbook