We know that we can define states in our .mxml. The thing is, our application or component may only be in one of those states at any time.
When programming for Flex Mobile, Landscape and Portrait (orientation) often need to be states in order to easily define whether a control/component/element is [in]visible, (dis/en)abled, or shaded with certain colors. But our app or component also has other states, INDEPENDENT of screen orientation, for example SufficientCredit and InsufficientCredit.
Say that we want to show a submit button only if the state is SufficientCredit. But you also need to show/hide/color other controls when you change your phone's orientation. In real life, your credit state really is SufficientCredit, but your app is now in either the Portrait or Landscape state. Now our submit button will disappear, though it's not in the InsufficientCredit state.
I don't want to create states that "combinate" like LandscapeSufficientCredit, LandscapeInsufficientCredit, PortraitSufficientCredit, and PortraitInsufficientCredit. I also don't want to ditch states altogether and write a HUGE if-else statement where each branch would have to contain code to modify component properties (colors, sizes, visibility, etc.), and then remember to call it from many places that would change state.
I've heard of state groups, but the documentation for them is really confusing, and I'm not sure if they'll help in this case.