Public/Set-ProviderConfig.ps1

function Set-ProviderConfig {
  param(
    $Provider, 
    [Parameter(Mandatory)]
    [hashtable]$NewConfig
  )

  # Build a new ordered table, then atomically replace under write lock
  $cloned = Copy-OrderedShallow $NewConfig

  With-WriteLock {
    $Provider.Config = $cloned
    $rev = if ($null -eq $Provider.ConfigRevision) { 0 } else { $Provider.ConfigRevision }
    $Provider.ConfigRevision = 1 + $rev
    $Provider.ConfigLastChangedUtc = [DateTime]::UtcNow
  }
}