Any particular reason why you want a job system as rigid as the one you describe, rather than something more freeform?