http://blog.objectmentor.com/articles/2009/09/11/one-thing-extract-till-you-drop