I did eventually finish part 2, as I said I would. However, that nice chap Zem, who is infinitely more wise than myself, has posted a better way to do things. So I’ll leave part 2 under “draft” for the moment.
It’s far easier to use than my method, being a lot “cleaner” to implement. You certainly aren’t going to have the upgrading nightmare that following my method would give you, that’s for sure.
That said, it’s not quite as flexible as my solution and doesn’t actually make TXPdate-aware. But I’m sure that some industrious fellow will find away to meld the two together to get the best of both worlds.
Way to go Zem!