Is there a way to (temporarily) increase the rate at which the mode line is redisplayed?

I was trying to write a package that adds a spinner to the mode line (to indicate ongoing operations), but I hit a wall because the mode line sometimes takes many seconds to redisplay.
I started writing a solution with timers, but that seems like a lot of work for something so simple.

Cheers