How about creating a new container Flowable class
ListOfFlowables? This could have its own wrap and split
methods and so on; split would have to find which of its
constituent flowables to split on, and then pass the split
call downwards (so to speak), returning two
ListOfFlowables instances, with this particular flowable
divided up between them.
This would make things like custom tables much easier
to write for ReportLab novices like myself, as it removes
the need for such nastinesses as Table._listCellGeom.