I’ve just put together a new example for those that might want to do this purely in Source. It is a fairly simple thing to do with a couple of Coder stacks and just a little code.
Here is a published example and here is the project file.
(Have also add this to the Source Knowledge Base)