New-UDDynamic strange behavor

So when I use the New-UDDynamic I have a script like this:

New-UDPage -Name “Add Password” -Content {
$RDMvaults = Get-RDMVault
$cache:RDMpasswordLists = “”
$cache:Passwords = “”
New-UDHeading -Text “Update clients password” -Size 1
New-UDForm -Content {
New-UDSelect -id selectaclient -Label “Select a client” -option {
New-UDSelectOption -name “Select a client” -Value 0
foreach ($RDMvault in $RDMvaults)
{
New-UDSelectOption -name $RDMvault.name -Value $RDMvault.name
}
}-OnChange {
$Selectedclient = RDMvaults | where {.name -like (Get-UDElement -id “selectaclient”)[“value”]}
Set-RDMCurrentRepository $Selectedclient.id
cache:RDMpasswordLists = Get-RDMSession | where {
.ConnectionType -eq “Credential”} | select name,id
$cache:PLS = 1
Sync-UDElement -id PasswordList
}
New-UDDynamic -id PasswordList -content {
New-UDSelect -id “passswordselect” -Label “Select a Password List” -option {
if ($cache:PLS -eq 0)
{
New-UDSelectOption -name “Select a password list” -Value 0
}else{
New-UDSelectOption -name “Select a password list” -Value 0
foreach ($RDMpasswordList in $cache:RDMpasswordLists)
{
New-UDSelectOption -name $RDMpasswordList.name -Value $RDMpasswordList.name
}
}
}-OnChange {
Sync-UDElement -id PasswordForm
}
}
New-UDDynamic -id PasswordForm -content {
if ($cache:PLS -ne 0)
{
New-UDTextbox -id ‘Host’ -Label ‘Host’
New-UDTextbox -id ‘Domain’ -Label ‘Domain’
New-UDTextbox -id ‘Password’ -Label ‘Password’
New-UDTextbox -id ‘ConfirmPassword’ -Label ‘Confirm Password’
}
}
}-OnValidate{

}-OnSubmit {
	Show-UDToast -Message $Body
}

}

When the page loads the second USSelect is not visable (actually that works better for me ) when the on change happens for the first UDselect the second one appears. However everything in the second UDDynamic is displayed on load. Actually I would prefer this to work like the first one.

is this a bug or by desing?