=str #15755 #15756 First stab at input/output factories

* New naming based on Source and Sink

Some parts of this convoluted/wrong. Take a look and we can discuss.
you mean in SubscriberSource? I can't see how that can be done with current structure. The source.materialize is performed as the first thing, to create the source Publisher