reworked WorkerGeneratedOnlyTrait to run off of controller