Add support for nested jobs, caching, and performance enhancements for job status updates

Nice!  I mean to use a factory to create this Api initially, but never implemented it.