Continue refactor of workers to separate concerns