Widgets need to be able to support multiple state sets.
Attributes cannot be controlled by a single state set. Consider
Settings Tabs and their state-controlled corner radii. The
corner radii setting depends on the state set (First, Middle,
Last), and it also depends on the state set (Selected,
Unselected)
Need to reverse using m_attributes as a map of State keys ->
attribute set values. This system means that attributes are
tied to specific states, which is not the intention. Multiple
states should be able to determine an attribute value.
Child widgets need to inherit their parent's state sets.