Organizing code for interdependent modules

Purpose: I’m writing a JS library that will consist of a core class which will be extended by submodules. Those submodules need to be able to plug independently on this core and have access to a few utilities imported by the core (api endpoints and functions, l10n strings and methods, …).

As each component is executed, data is progressively added to the this of the subclass (thus the one of the main class), and I’d like every utility to have access to that this dynamically so it always has the latest version of the variables attached to it.
This is why I can’t call utility classes with a parameter (this.apis = new Apis(this) will create a copy of this at the moment of instanciation but not update it afterwards).

I have thought of Proxies, but it doesn’t seem to be relevant in that case. So far, the best I have found to do -and that works- is by using any_method.bind(this). However, I don’t know how to bind a full class so that all the methods will have access to this and not have to bind each method separately.

Would anyone have any suggestion for a clean reactive system for my use case?
If not, maybe anyone can tell me how to bind(this) a whole class?

Thanks a lot