@eschwartz,
Thank you very much for explaining things. It was good of you to take the time with such a detailed reply

It looks like there are a few things I can be working on to tidy up my old-fashioned code. Most of my plugins are not publicly shared so I can experiment without upsetting anyone if/when I make mistakes.
@kovid,
Thank you for the links

The homework should keep me busy for a while.