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

Yea, that looks good, though the name should be GetTimeSinceLastUpdate()