An abstract base implementation of the listener support provided by ListenableFuture.
ListenableFuture
A list of (Runnable, Executor) pairs that guarantees that every Runnable that is added using the add method will be executed in its associated Executor after run() is called.
Runnable
Executor
run()