Router abstraction that consumers of the library can configure with their router of choice. The way I'm going about that is providing abstract Router classes. Below is one example:TanStackRouter as I dynamically load the library in the constructor and implement the same interfaces with all the things that TanStack Router expects. I have two primary questions:navigate interface being called despite it being invoked while being a descendant of a <Router /> component in the JSX tree:const _navigate = this.router.useNavigate(); in the context of a class and not a component?