log.info("Starting Ninja application...");
state = State.STARTING;
// First, ensure that all singleton scoped bindings are instantiated, so that they can be started. It is not
// until they are instantiated that LifecycleSupport has an opportunity to register them.
for (final Binding binding : injector.getBindings().values()) {
binding.acceptScopingVisitor(new DefaultBindingScopingVisitor() {
@Override
public Object visitEagerSingleton() {
injector.getInstance(binding.getKey());
return null;
}