Fixed a race-condition oversight.  Fixed a dangling thread.  Change the virtual method to a functor for jobs.