The states of a feature is explicit. That means we have an explicit state property which holds the name of a given state the feature can be in, with any related values.
Thinking in terms of explicit states is a mind shift. You will spend a lot more time identifying what unique states each piece of the flow represents and how to properly name them.
The name of a state should ideally fit with the sentence "I am $STATE". Imagine the feature telling you what state it is in. This can sometimes feel unnatural and a state like ERROR might pop up, which is perfectly fine. The important thing is that it is not imperative, like AUTHENTICATE or SIGN_IN.
The explicit states are expressed and transitioned with a reducer.