Rewrite worker structure for more flexibility
Mid-refactor
Cleanup