Prepared for concurrency

Ok, this is ready to start adding concurrency.  I'm not sure how
proceed from here -- I might start a seperate branch, or else an
auxiliary project.