public CompletableFuture<PlayerSaveResult> savePlayerData(UUID uniqueId, String username) {
        return future(() -> {
            PlayerSaveResult result = this.implementation.savePlayerData(uniqueId, username);
            if (result != null) {
                this.plugin.getEventDispatcher().dispatchPlayerDataSave(uniqueId, username, result);
            }
            return result;
        });
    }
Provides a {@link CompletableFuture} based API for interacting with a {@link StorageImplementation}.
common/src/main/java/me/lucko/luckperms/common/storage/Storage.java