Event dispatch/subscription architecture
It is extremely powerful to be able to receive notice at particular points in a migration pipeline, and in some cases be able to make modifications from the recipient. For example, after an extractor has extracted a source record into a DataRecordInterface
instance, but before it is yielded for processing, an application may wish to add data from a related source, or signal that the record should be skipped. This strongly suggests an event architecture of some sort - Drupal currently extends Symfony's EventDispatcher component for this purpose.
What shall we use here? To the maximum extent possible we want to avoid any non-PSR dependencies in the basic architecture, so our solution will be based on PSR-14. We should identify what existing PSR-14 implementation would be the best basis.
Also, if we want the dispatching of events to be specified in our interfaces, it'd be nice if phpdoc supported documenting that.