Allow routes to be completely customized

This is a backport of some changes from the 2.0 branch.
this is awesome! DREAM COME TRUE :cloud: