Dear Richard,

thanks for elaborating on your ideas. As I am still figuring out what works best, I'll give them a try. Especially the approach to let the source deal with passing the arguments to the block - though this requires more changes.

The problem is NOT, as some commentators apparently think, that
you are using a block.

Indeed. A block provided (by the user) is actual the natural way in my case.

The problem is that having thought of
one way to wire things up -- not an unreasonable way, in fact --
you concentrated on making *that* way faster instead of looking
for other ways to do it.

You're right. I first wanted to see how far I can get with this "direct" approach before trying other techniques. :-D

All the best!
Steffen