public static <T> FileStorageHandler<T> build(String fileName, String fileExtension, File dataFolder, Function<Path, T> loadingFunc, BiConsumer<Path, T> savingFunc) {
        return new FileStorageHandler<T>(fileName, fileExtension, dataFolder) {

            @Override
            protected T readFromFile(Path path) {
                return loadingFunc.apply(path);
            }

            @Override
            protected void saveToFile(Path path, T t) {
                savingFunc.accept(path, t);
            }
        };
    }
Utility class for handling storage file i/o.
Saves backups of the data files on each save.

@param <T> the type being stored
helper/src/main/java/me/lucko/helper/serialize/FileStorageHandler.java