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, but there is no existing PSR in this area at the moment - PSR-14 is proposed, but it's not clear if it has much traction to date. We could specify it in the interfaces, but pending an actual PSR-14 implementation we would need to put a PSR-14 shim around Symfony EventDispatcher or somesuch.
Also, if we want the dispatching of events to be specified in our interfaces, it'd be nice if phpdoc supported documenting that.