Latest updates to background job management and also added an exception
class that takes in an ID. This is purely to allow for an ID to be
logged and sent back to the user. That way the users error can be easily
located in the logs.