AsyncIterablePublisher is an implementation of Reactive Streams `Publisher`
which executes asynchronously, using a provided `Executor` and produces elements
from a given `Iterable` in a "unicast" configuration to its `Subscribers`.
AsyncSubscriber is an implementation of Reactive Streams `Subscriber`,
it runs asynchronously (on an Executor), requests one element
at a time, and invokes a user-defined method to process each element.
A synchronous implementation of the Publisher that can
be subscribed to multiple times and each individual subscription
will receive range of monotonically increasing integer values on demand.
SyncSubscriber is an implementation of Reactive Streams `Subscriber`,
it runs synchronously (on the Publisher's thread) and requests one element
at a time and invokes a user-defined method to process each element.