I had already factored the system to recognize the State pattern implicit in the problem but I had left a little bit of the logic tangled together and driven by quasi-implicit state codes.
What I did on my ride back from my current client, today was get rid of the rest of the snarled, procedural logic.