cleaner implementation of project.job()