Yeah, maybe my approach was an overkill. What I wanted was just properties with default values that would be replaced by stored values in the database upon initialization. In order to not have to write the list of properties multiple times, I came up with this "property dictionary" approach. Again, if there's some cleaner way that will not raise so many concerns I'm cool with replacing it.