WIP 

Just opening a PR to get feedback on the re-factoring for Worker. Changes still in progress.
Why have multiple constructors? Even if we use an ID other than the PID, there should only be one instantiation scenario.