You're not having to reimplement all the other methods. That seems like a win? This thing is fundamentally accumulating a collection of things too. @davies ?  I don't know about the merge logic. I assume that something here is required to send the data back to the Python driver process in order for the accumulator to work, but I don't know this well. At least, that can stay as-is for now. I didn't actually change it much at all in the branch above, it's mostly indentation changes. 