Now the Supervisor monad is an instance of Reader.
Factored out non-thread-specific bookkeeping code from Threads into Workgroup.