param(
    $Action,
    [hashtable] $Arguments
)

& {
    param($parameters);

    . "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
    $softwarePath = "$PSScriptRoot/../../Software";

    $appScripts = @(
        "$softwarePath/TobiiGhost/Manage.ps1",
        "$softwarePath/TobiiGameHub/Manage.ps1"
    );

    Start-SoftwareInstaller @parameters `
        -Installer {
            Install-SetupPackage -Source "https://files.update.tech.tobii.com/Tobii_Eye_Tracking_Core_v2.16.8.214_x86.exe";

            foreach ($script in $appScripts) {
                . $script -Action ([InstallerAction]::Install) @parameters;
            }
        } `
        -UserConfigurator {
            foreach ($script in $appScripts) {
                . $script -Action ([InstallerAction]::ConfigureUser) @parameters;
            }
        };
} $PSBoundParameters;