@Override
  public Scene onLoadScene() {
    EventBus.clear();
    EventBus.register(this);

    CollisionHandler.instance().clear();
    this.getEngine().registerUpdateHandler(CollisionHandler.instance());

    ObjectHandler.clear();

    setupNetwork();

    final FPSLogger fpsLogger = new FPSLogger();
    this.mEngine.registerUpdateHandler(fpsLogger);

    GameScene scene = new GameScene(this.camera);

    final ChangeableText fpsText =
        new ChangeableText(5, 5, Fonts.gameFont16p, "FPS:", "FPS: XXXXX".length());
    this.camera.getHUD().getTopLayer().addEntity(fpsText);
    scene.registerUpdateHandler(
        new TimerHandler(
            1 / 20.0f,
            true,
            new ITimerCallback() {
              @Override
              public void onTimePassed(final TimerHandler pTimerHandler) {
                fpsText.setText("FPS: " + fpsLogger.getFPS());
              }
            }));

    return scene;
  }