docs: public void start()
      {
          for ( QueueGroups group : QueueGroups.values() )
          {
              final DelayQueue<ActivityHolder>      thisQueue = queues.get(group);
              service.submit
              (
                  new Runnable()
                  {
                      @Override
                      public void run()
                      {
                          try
                          {
                              while ( !Thread.currentThread().isInterrupted() )
                              {
                                  ActivityHolder holder = thisQueue.take();
                                  try
                                  {
                                      Boolean result = holder.activity.call();
                                      holder.activity.completed((result != null) && result);
                                  }
                                  catch ( Throwable e )
                                  {
                                      log.error("Unhandled exception in background task", e);
                                  }
                              }
                          }
                          catch ( InterruptedException dummy )
                          {
                              Thread.currentThread().interrupt();
                          }
                      }
                  }
              );
          }
      }