I think your points bear exploring… probably in a separate thread. So I created one.
The main purpose of that thread is to address your concern (shared by @Revelate) on the complexity of implementation.
I feel it’s perfectly doable… so I put my money (time) where my mouth is and spent about 20 minutes coming up with what I feel is a practical approach. See below.