code: public <T extends IEventProcessor> CompletableFuture<Void> registerEventProcessor(Class<T> eventProcessorType) {
          DefaultEventProcessorFactory<T> defaultFactory = new DefaultEventProcessorFactory<T>();
          defaultFactory.setEventProcessorClass(eventProcessorType);
          return registerEventProcessorFactory(defaultFactory, EventProcessorOptions.getDefaultOptions());
      }
docs: Register class for event processor and start processing.
  <p>
  This overload uses the default event processor factory, which simply creates new instances of
  the registered event processor class, and uses all the default options.
  <p>
  The returned CompletableFuture completes when host initialization is finished. Initialization failures are
  reported by completing the future with an exception, so it is important to call get() on the future and handle
  any exceptions thrown.
  <pre>
  class MyEventProcessor implements IEventProcessor { ... }
  EventProcessorHost host = new EventProcessorHost(...);
  {@literal CompletableFuture<Void>} foo = host.registerEventProcessor(MyEventProcessor.class);
  foo.get();
  </pre>
  
  @param <T>                Not actually a parameter. Represents the type of your class that implements IEventProcessor.
  @param eventProcessorType Class that implements IEventProcessor.
  @return Future that completes when initialization is finished.