The only thing I had in mind is a 2nd order IIR filter takes a lot less memory (and it can be tuned to be plenty annoying). I also see the value of using what already exists and improving upon it. As has been said before, "1/2 dozen of one, 6 of the other".
Take care. I'm looking forward to trying this when you commit some code.