code: @Override
  	public void addActions(String serviceName, Service service) {
  		if (serviceName == null || serviceName.isEmpty()) {
  			serviceName = service.getName();
  		} else {
  			service.name = serviceName;
  		}
  		final String name = serviceName.replace(' ', '-');
  		Class<? extends Service> clazz = service.getClass();
  		Dependencies dependencies = clazz.getAnnotation(Dependencies.class);
  		if (dependencies != null) {
  			String[] services = dependencies.value();
  			if (services != null && services.length > 0) {
  				waitForServices(0, Arrays.asList(services)).then(ok -> {
  					StringBuilder msg = new StringBuilder(64);
  					msg.append("Starting \"");
  					msg.append(name);
  					msg.append("\" service because ");
  					for (int i = 0; i < services.length; i++) {
  						msg.append('\"');
  						msg.append(services[i]);
  						msg.append('\"');
  						if (i < services.length - 1) {
  							msg.append(", ");
  						}
  					}
  					if (services.length == 1) {
  						msg.append(" service is");
  					} else {
  						msg.append(" services are");
  					}
  					msg.append(" available...");
  					logger.info(msg.toString());
  					addOnlineActions(name, service);
  				}).catchError(cause -> {
  					logger.error("Unable to deploy service!", cause);
  				});
  				return;
  			}
  		}
  		addOnlineActions(name, service);
  	}
docs: --- ADD A LOCAL SERVICE ---