class AsyncRegister implements AsynchronousProcess {

    public <P extends RegistrationParameters> void register(RegistrationMethod<P> variant, P parameters) {
        if (preRegisterCheck(parameters.getPlayer())) {
            RegistrationExecutor<P> executor = registrationExecutorFactory.getSingleton(variant.getExecutorClass());
            if (executor.isRegistrationAdmitted(parameters)) {
                executeRegistration(parameters, executor);
            }
        }
    }

      AsyncRegister();

}