docs: public CompletableFuture<Boolean> defineConfiguration(String name, CounterConfiguration configuration) {
        //first, check if valid.
        validateConfiguration(configuration);
        return checkGlobalConfiguration(name)
              .thenCompose(fileConfig -> {
                 if (fileConfig != null) {
                    //counter configuration exists in configuration file!
                    return CompletableFuture.completedFuture(Boolean.FALSE);
                 }
                 //put configuration in cache
                 return stateCache.putIfAbsentAsync(stateKey(name), configuration)
                       .thenApply(cfg -> {
                          if (cfg == null) {
                             //the counter was created. we need to persist it (if the counter is persistent)
                             storage.store(name, configuration);
                             return Boolean.TRUE;
                          } else {
                             //already defined.
                             return Boolean.FALSE;
                          }
                       });
              });
     }