Add recursive routeGroups; other cleanup.