src/CommandBuilder.php
private function getObserver(): ProcessObserverInterface
    {
        if (1 === count($this->observerList)) {
            $observer = $this->observerList[0];
        } elseif (count($this->observerList)) {
            $observer = new AggregateLogger($this->observerList);
        } else {
            $observer = new NullProcessObserver();
        }

        return $observer;
    }
private function getObserver(): ProcessObserverInterface
    {
        if (1 === count($this->observerList)) {
            $observer = $this->observerList[0];
        } elseif (count($this->observerList)) {
            $observer = new AggregateLogger($this->observerList);
        } else {
            $observer = new NullProcessObserver();
        }

        return $observer;
    }
private function getObserver ( ) : ProcessObserverInterface { if ( 1 === count ( $ this -> observerList ) ) { $ observer = $ this -> observerList [ 0 ] ; } elseif ( count ( $ this -> observerList ) ) { $ observer = new AggregateLogger ( $ this -> observerList ) ; } else { $ observer = new NullProcessObserver ( ) ; } return $ observer ; }
If more than one observer is attached to the command then wrap them up in an Aggregate logger.

This means that as far as calling code is called there's only one observer.
If more than one observer is attached to the command then wrap them up in an Aggregate logger .