[eluser]Colin Williams[/eluser]
Quote:My cringing is at modifying a piece of code that gets updated. If I modify it, and then upgrade it, my changes go bye bye
Have you looked in the User Guide at how to extend and override core classes? When you override methods properly, you aren't terribly dependent on the core. And if you were to upgrade the core (which, let's face it is just a "what if" conversation as of now), updating your overrides is probably going to be the least of your work, if required at all.