Interesting discussion.
I can tell, CSSA doesnt repaint. For that set the training range to other than the value by default. Set it to less than the number of bars in your chart therefore there is no new training of the indicator when you receive a new bar. Try it. You will see it does not repaint.