Description
When running pipelines from the client asynchronously, it would be nice to be able to add some callbacks that would execute when the pipeline of jobs finishes. It seems to me that the best way to do that is to have the PipelineExecution interface extend ListenableFuture<PipelineResult>, which supports adding (Runnable, Executor) methods that are executed at the end of a pipeline run.