Convert Work into module to be included.
This allows any object we want to be able to be queued and used in the system.
In addition it greatly reduces the complexity of Work