Refactor job implementations into their own package