Java classes for asynchronous, long running jobs