I've done a bit more cleanup on the last version of the patch (renamed the fields to start with bis_ as agreed, rephrased the comments / docs / commit message a bit) and pushed.
Thanks a lot Tomas for helping to drive the patch to completion iteratively and realizing the benefits.