Improve visual performance: update button state directly after left-click