Finite State Machine: designing for states rather than goals

There is a distinction buried in the language of product design that is rarely made explicit, and which, when made explicit, changes…