=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
do we need to types of `Source`, one that gets the top subscriber as param, another that returns a Publisher?