Component variables are SO CLOSE to being perfect... but

Am I the only one that feels that component variables were SO CLOSE to being perfect, but that they just missed the mark by a hair? I really want the exact same functionality that they offer, however I want to specify different variations for different attributes.

For example, say I have a column, which can also be reversed, and I want the background color to be either light or dark. Currently I need to create 4 variants:

  1. Normal column, light
  2. Reversed column, light
  3. Normal column, dark
  4. Revered column, dark

For each attribute the number of variants are exponentially increased. This would be easily fixed if I could specify component properties of attributes using predefined lists, instead of having to rely soley on component variations. For example:

Attribute property 1: Column direction
Options: Normal, Reversed

Attribute property 2: Theme
Options; Light, Dark

Am I the only one who thinks this would empower components even further?