I wouldn't use `instance_variable_set` here --- with no whitelist of attributes, I could set any instance variable I wanted, such as "current_user" or "admin"

If you wanted to loop over, with some safety you could:

```ruby
opts.each { |k,v| send("#{k}=", v) if respond_to? "#{k}="}
```

This will end up using the "color=" interface, if it exists.