Completed refactor of workers to separate concerns