|Welcome to the Monastery|
There are two reasons to write code:
Remember - there are programs written over 30 years ago and untouched since that are critical to keeping capitalism running. Don't believe me? Go ask a mainframe programmer for the US Treasury Department how bonds are issued and the sales kept track of. If you don't believe me that the failure of the US Government to issue bonds in a timely fashion would crash the world economy ... *shrugs* I just wish I had your ... optimism.
That said - if you could engineer in significant new functionality, that is now a case for a rewrite. I did this with PDF::Template. (Yeah, that module I keep promising to release the new version of. Documentation ... my new son. Man, priorities suck.) But, I also made sure that old templates didn't break (much).
Another thought - can you source filter anything and rebuild? If you are making a name change to accomodate new thinking, but the calling signature can remain similar (or transforms in a consistent fashion), you could use regexes and source filters to help ... ?
Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.