Now about separating state management. Firstly I wrote the
text to retrospectively justify Kurtis's suggestion to have
a separate document, and I don't know if I correctly read his
mind.
Secondly, when I began to think about it, I really did see an
argument for *consciously* designing the state machine separately
(and logically, it should be designed first, not second).
Who's to say that we'll get the protocol right first time? It acts
in support of the state machine, not the other way round, so the
state machine is actually fundamental. Going to a v2 of the protocol
probably shouldn't change the state machine, at the macro level.
Also, the state machine will not only respond to shim6 protocol events.
It will also have to respond to unreachability signals, transport
disconnect signals, etc.