Extracted Job class from MachineShopSimulator. All tests pass.