Thanks again for the contribution!

I was wondering: do you think it might be possible or desirable to do this via a proxying approach? Ie we have a SchemedSourceProxy, and a PartitionSource takes a Source, proxies out, and returns a different tap?

It seems silly for us to have an explosion of sources to mix in a given desirable extension (which is what this seems to be). Given it looks like it could be layered on, is there any reason not to try that approach?

This approach certainly gives a clean class hierarchy, but the other one would make it much easier to use this with any source, which would be pretty cool.