All the continuous rotates are using threads and every function is now calling Invalidate instead of Rotate