public <T> void submit(BackgroundJob<T> job) {
   long id = lastId.incrementAndGet();
   job.setId(id);
   Future<T> future = service.submit(job);
   job.setFuture(future);
   backgroundJobs.add(job);
   history.put(id, job);
 }