Add the ability to override the current route
Add generateIfExists() and generateArrayIfExists()
Change exception wording