The constructor injection initiative refactored high-value classes from the service locator pattern (calling engine.getManager() internally) to accepting dependencies via constructor parameters.
The service locator pattern made unit testing difficult — tests had to create a full WikiEngine even when only one manager was needed. Constructor injection allows tests to pass lightweight stubs directly.
Seven high-value classes were converted, including core rendering and reference management components. Each class gained a constructor accepting its dependencies while maintaining backwards compatibility through a default constructor that falls back to service location.