A Job encapsulates the act of evaluating a given
delayed object in a particular way. SequentialJobs evaluate
immediately, blocking the current process until they are complete.
FutureJobs leverages future to evaluate according to the
specified plan.