Move routing to it's own module.

I had meant to move it, however it already breaks things. Go figure!
Never a good idea to add self methods to inherited messes.