This is actually somewhat ideal but I've refactored slightly. My thought was this though: if/when we go to asynchronous jobs we might want to be able to mark a job as completed on the server, but not remove it from the queue until the client has confirmed this.

Removing the jobs from the local store will free up memory which is almost never a bad thing :)