Setting implementation, with GenericSetting subclass for inheritance magic