I extended some functionality in the slick module, but I am looking to do it in a way that doesn't get erased each time I update slick
In my opinion, the easiest way to preserve changes to contributed code is to manage your dependencies through Composer and use patches. When you update slick in the future, the output of the command will directly tell you which of your patches have been broken by the update.