& {
    . "$PSScriptRoot/../../lib/Restoration.ps1";
    . "$PSScriptRoot/../../lib/SoftwareManagement.ps1";
    . "$PSScriptRoot/../../../lib/Software.ps1";
    . "$PSScriptRoot/../../../lib/System.ps1";
    $path = "$HOME/Documents/ManiaPlanet";

    Start-SoftwareInstaller @args `
        -Installer {
            Install-WingetPackage Nadeo.ManiaPlanet;
            Remove-DesktopIcon "ManiaPlanet*";
        } `
        -UserBackup {
            param(
                [string] $Name,
                [hashtable] $Arguments
            )

            Add-BackupArtifacts -User $Arguments.Name -Source $path -Path "$Name" `
                -Include @(
                    "Actions",
                    "Blocks",
                    "Items",
                    "Maps",
                    "Media",
                    "Modules",
                    "Packs",
                    "Replays",
                    "Scripts",
                    "Skins"
                );
        } `
        -UserConfigurator {
            param(
                [string] $Name,
                [hashtable] $Arguments
            )

            Expand-BackupArtifacts -User $Arguments.Name -Path "$Name" -Target $path;
        };
} @args;