Not sure this is the best approach, but seemed the only way to ensure the defaults are used as a fallback.  I could have injected the defaults into the `RouteOptionGenerator` and used them there but I couldn't enforce custom generators to do the same.