class TaskBasedSignalOffloader implements SignalOffloader {

    @Override
    public <T> void offloadSubscribe(final Subscriber<? super T> subscriber,
                                     final Consumer<Subscriber<? super T>> handleSubscribe) {
        try {
            executor.execute(() -> handleSubscribe.accept(subscriber));
        } catch (Throwable throwable) {
            // We assume that if executor accepted the task, it was run and no exception will be thrown from accept.
            deliverErrorFromSource(subscriber, throwable);
        }
    }

      TaskBasedSignalOffloader(final Executor executor);
      TaskBasedSignalOffloader(final Executor executor, final int publisherSignalQueueInitialCapacity);

}