938847bea9
ProjectX uses Guice to inject dependencies and this results in some random manager having a dependency on the concrete server class, which invariably is getting inject itself at the time this dependency has to be resolved, which causes circular dependencies. Guice was able to thread the needle with other sneaky business in some cases, but also sometimes not. So let's give it a nice interface that it can proxy to manage this particular circular dependency.