Problem: clojure server has one global state.

Solution: manage state on a per routing-id basis and update state transitions accordingly.