Clean up repeat code by using already implemented AbstractListenerAggregate
Merge branch 'cleanup/#6203-abstract-aggregate-listener-reuse' into develop

Close #6203