Fixed setSilent to handle both `"key", value` and `{key: value}` -style arguments.
Added setValid helper to validate on set
Tweaked style