http://howtosavetheworld.ca/2009/09/14/what-you-can-do-a-framework-for-personal-action-version-0-9/