This is a fairly large refactor to allow multiple instances of geary to run at once, we call each instance a world and it can tich independently. The primary bottleneck was relying on global instances of our Geary module. This has been replaced with individual class references and an isolated Koin application when running engine setup.
Remove dependency on Idofront DI in favor of Koin
Remove any static dependency references, refer to them using a Geary object with helpers instead
Refactor engine modules to have no recursive dependencies
Rework methods for registering geary and installing addons
Add tests to ensure engine module is set up correctly
This is a fairly large refactor to allow multiple instances of geary to run at once, we call each instance a world and it can tich independently. The primary bottleneck was relying on global instances of our Geary module. This has been replaced with individual class references and an isolated Koin application when running engine setup.