Add PatternValidatedProperty

Also made Mode a validated property