=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.
that is an interesting idea, but isn't the problem that it should be possible to define the Flow including Sink and Source and then (later) specify the materializer, when the Flow is run?