Classes/FolderManager.ps1

class FolderManager {
    [LibraryContext]$Context
    
    FolderManager([LibraryContext]$context) {
        $this.Context = $context
    }

    [void]RmDir([string]$singleFolder, [object]$folderList) {
        if ($folderList) {
            foreach ($folder in $folderList) {
                $this.RmDir($folder, $null)
            }
        }
        elseif ($singleFolder) {
            $this.Context.LogManager.Log("Attempting to remove folder $singleFolder")
            if (Test-Path -Path $singleFolder) {
                try {
                    Remove-Item -Path $singleFolder -Recurse -Force
                    $this.Context.LogManager.Log("Remove of folder $singleFolder OK!")
                } catch {
                    $this.Context.LogManager.Log("Could not remove folder $singleFolder OK!", "ERROR")
                }
            }
            else {
                $this.Context.LogManager.Log("Folder $singleFolder does not exist - skipping removal.", "WARN")
            }
        }
    }
}