Concurrent testability

This adds many testability tools.  Issue #1 is now solved, and as far as I can tell it all seems to be working now.  It still needs more testing, but everything from a unit test perspective seems good now.