/**
   * Creates the {@link ObjectSpace}, registers kryo classes and connect the space to the server.
   *
   * @param server KryoNet {@link Server}.
   * @return Created {@link ObjectSpace}.
   */
  @Bean(name = "kryonet-server-objectspace")
  @DependsOn("kryonet-server")
  @Autowired
  public ObjectSpace createObjectSpace(Server server) {
    final ObjectSpace objectSpace = new ObjectSpace();
    objectSpace.setExecutor(executorService);
    server.addListener(
        new Listener() {
          @Override
          public void connected(Connection connection) {
            objectSpace.addConnection(connection);
          }
        });

    return objectSpace;
  }