each button in mine has a life expectancy, no matter how many times you ask the button to update it wont update until that expectancy has passed.
That way, each user can !setting uispeed 0,1,2,3,4,5,6,7,8,9,10 - 0 being instant, 10 being 10 seconds.
Of course some buttons need to be updated upon request (menus and suchlike) - so those have 0 as the expectancy!
Hope this idea helps you, Dygear.