code: @Override
  	protected Future<ActivityData> submit(ActivityCallable callable) {
  		try {
  			if(getEjb() == null) {
  				logger.info("locating AsynchronousBean EJB through service locator");
  				setEjb(ServiceLocator.getService(asynchBeanName, AsynchronousBean.class));				
  			} else {
  				logger.info("asynchronousBean EJB correctly initialized through dependency injection");
  			}
  			return getEjb().submit(callable);
  		} catch(Exception e) {
  			logger.error("error in the AsynchronousBean service locator lookup", e);
  		}
  		return null;
  	}
docs: Assigns the given activity to a worker thread in the JavaEE application
  server, returning the task's Future object.
  
  @param callable
  the callable object for the {@code Activity} to be executed asynchronously.
  @return
  the activity's {@code Future} object, for result retrieval.
  @see
  org.dihedron.patterns.activities.concurrent.ActivityExecutor#submit(org.dihedron.patterns.activities.Activity)