In process of refactoring a bunch of stuff
More work on integrating routing, not done yet.