We all know that it's bad to use NMS code, but occasionally I find myself using it. Sometimes it's unavoidable. Spigot and Bukkit are, as far as I know, just dynamic wrappers for NMS code. They allow easier use of it without you needing to get your hands dirty. However, NMS code is unarguably extremely powerful. It is the core of the server, while Spigot and Bukkit sometimes only scratch the surface. I'm not sure if this is completely possible, but I think that NMS packages should be renamed and should be static instead of changing with every single minor update.