This allows the logic to be expressed more nicely and tested independently of the handlers. It also paves the way for a bit of refactoring to reduce the number of random things that need to be comparable...