routers now properly hook into parent/child relationships and track hasSubRouter status based on the set of childRouters isRelative state in each instance