Switching to a state machine approach would require rethinking and rewriting all our interceptors, and I'm pretty sure the code would get more complex and harder to debug (to say nothing about interpreting the logs). Are you sure it's going to have that many benefits to make it worthwhile?