Refactored common code into a library.
Fixed a race condition
Fixed up for weekly-2012-01-27, and uses gb to build.