It turns out I started this project with an old version of the code.  I discovered it when I was trying to track down a lock implementation I wrote and could not find it.  Anyays, the new version fixes many of the threading issues I had =) and it was interesting getting the tests to run against it too... Typical problems with maintaining tests with code that is being actively developed.