- Show the states that a widget can be in. - Support dynamic numbers of states e.g. multiple tabs - Model focus states. e.g. menu button should focus after closing. - Make available as a test suite package with Testing Library.