private void InitDefaults()
{
var options = GetOptions();
var type = this.GetType();
foreach (var option in options) {
var property = type.GetProperty(option);
if (property == null) {
throw new ArgumentException("Brew Error: Widget has option defined with no matching property.", option.Name);
}
property.SetValue(this, option.DefaultValue);
}
}