public void cleanup() {
    final IWindowManager windowManager = Container.getComponent(IWindowManager.class);

    if (windowManager != null) {
      windowManager.cleanup();
    }
    Container.getComponent(IBattleManager.class).cleanup();
    Container.getComponent(IHostManager.class).cleanup();
  }
  public void initForRobocodeEngine(IBattleListener listener) {
    final IWindowManager windowManager = Container.getComponent(IWindowManager.class);

    if (windowManager != null) {
      windowManager.setSlave(true);
      windowManager.setEnableGUI(false);
    }
    Container.getComponent(IHostManager.class).initSecurity();
    if (listener != null) {
      Container.getComponent(IBattleManager.class).addListener(listener);
    }
    Container.getComponent(ICpuManager.class).getCpuConstant();
    Container.getComponent(IRepositoryManager.class)
        .reload(versionManager.isLastRunVersionChanged());
  }