This try from @robfech is a bit hidden in the commits, but I think it would be worth extracting that code and continue the approach at some point: 02749776