For the light_filt function your argument name should match the one used by isKindOf. Right now, while as it won't produce errors, your going to get incorrect results since you're not using the value passed.
The hold function seems to do the job, but it requires the convertToSplineShape function which makes it unusable if there are any modifiers in the stack :/ I've been trying to figure out if there's any other undo-enabled spline functions that will let it work, but no luck so far.
Hey Max! We noticed that you didn't match cases of the functions defined and the functions called, so I had to go through and do that to get the script to function. Once I did that, it worked awesome and I will be using it religiously now! Thanks.