Depending on your situation, this could be something that works.
Here you Component Type defines what properties a Component of that kind can have. Then for an individual component, the Value will define the value of the property.
Then this can be made fancier, with handling types, etc.