I left a few copied SplinePackages for readability. They gonna optimized away since most methods are now const.