It's something I'm working on - part of what we need to do threaded view. I think I have it mostly worked out - just want to be sure that I've covered everything the change might affect - otherwise it'll introduce lots of bugs.
A bit more complex to build in when it hasn't been there - and the potential to be very disruptive if we get it wrong. The basic DB model this SW uses makes it quite simple in concept, it's just finding all the bits that it might affect.