http://www.jonathancrossland.com/post/Code-Snippets-should-have-Context.aspx