Enabling static creation of routes.

Removing dynamic injection of dependencies for routes gave between 5-10%
  speed up in a test suite with a spiked implementation.
  Also means we get to lean on the compiler more for route arguments when
  creating routes.