slight refactor to make the threading job runner not the base class