Let states have explicit names.
Replace State::Create(*) with State::Builder.

State construction is getting complex enough now to justify (and benefit from) a Builder rather than a set of Create() methods.