Large refactoring of aioroutes to make internals nicer