public CompletableFuture<Group> createAndLoadGroup(String name, CreationCause cause) {
        return future(() -> {
            Group group = this.implementation.createAndLoadGroup(name.toLowerCase(Locale.ROOT));
            if (group != null) {
                this.plugin.getEventDispatcher().dispatchGroupCreate(group, cause);
            }
            return group;
        });
    }
Provides a {@link CompletableFuture} based API for interacting with a {@link StorageImplementation}.
common/src/main/java/me/lucko/luckperms/common/storage/Storage.java