That's a great suggestion, however the implementation is quite complicated judging by my first attempt! Can't get the event to fire in the correct order.
Thanks everybody for your input!
Cursing is the subclass of drunken working... Oscar Wilde (abridged)