TreasuryAPI failed to enable with two DI faults (surfaced once Business enabled and the cascade cleared):
Circular dependency. TreasuryAPICommand did @Inject HelpGenerator, and HelpGenerator takes a CommandManager, which injects the Set<CommandHandler> (incl. this command) → Guice CanNotProxyClass on the concrete CommandManager. Fix: inject Provider<CommandManager> and build HelpGenerator on demand (the Treasury/Business pattern).
Concrete plugin not bound. Handlers inject the concrete TreasuryAPI type, but TreasuryAPIModule never bound it — it relied on an incorrect comment claiming HiberniaModule binds the concrete subtype (it only binds JavaPlugin/Plugin). Guice JIT-constructed a second TreasuryAPI → IllegalArgumentException: Plugin already initialized!. Fix: bind(TreasuryAPI.class).toInstance(plugin) in the module, mirroring Treasury's TreasuryModule.
Verified: TreasuryAPI now enables.