The reason why it is an AggregateFactory is so that you can register additional factories (from within plugins) that add completely new types of notifications that the Core implementation doesn't know about, but still needs to be able to instantiate.
@schlessera :