Implementing a custom Router is a pain ATM, due to all the route matching utilities being `internal` and the handlers being constrained to `Type`. - [ ] The routing utilities (`RouteContext`, `RouteEntry`, `RouteTable`, ...) should be `public`. - [ ] `RouteContext.Handler` needs to be of type `object` to allow implementing custom handlers.