However, then I have to understand the code, and I'm missing the big
picture of what is happening. Maybe you could write a short overview of
the structure of your implementation? In particular, what data do you
use, and how do you store it?
Actually I have only changed the internals of the determine-split-list
function. It takes (almost) the same data-types, and returns the same
data-types. The only change is that the recording group engraver now
also sends an association list of settable properties (and the
succes-values are removed before calling the determine-split-list
function).