Sorry for being insensitive to cancer patients, but literally writing any NMS code makes me want to die in a hole. I literally have to choose between writing a bunch of reflection, which is bad, or abstraction, which is equally bad because you need to write 1000000000 files to handle each version.