From Avdi Grimm's Object In Rails book