Since steps are easily re-arranged within the flow, it is useful to assign a step ID to a step to maintain stable references to steps, as their index within the flow or text labels may change. This is particularly useful in the context of analytics, where understanding how the same step performs across versions is important.