1: pop a job from the work queue
2: delete it from the requisite list of all the steps it has on its enabling-list
3: if any of the thus-altered jobs now has an empty requisite list, push it on the job queue