Package worker provides background worker tasks.
Worker is a set of managed background go routines.
Go excutes the function fn in a new Go routine. Multiple Go routines may be started under the same Worker. It is the function's responsibility to monitor the channel returned by `Worker.HaltCh()` and to return.
Halt signals all Go routines started under a Worker to terminate, and waits till all go routines have returned.
HaltCh returns the channel that will be closed on a call to Halt.