As web apps and user interfaces become increasingly more dynamic and complex, structuring stylesheets for every possible state can be a challenge. David explores innovative ways of organizing our styles, adding complex interactivity and meaningful transitions, and comprehensively test UIs through a decades-old concept – finite state machines. With ARIA, data-attributes, and CSS variables, state machines can bring a new level of maintainability, testability, and interactivity to your styles.