The Multi-State Button is intended to always show the value of the indicatorValue. When a state of the button is clicked and the indicatorValue might change (99.9% of the time through a binding), the component can’t actually change the display state until the binding completes. The time for the binding to complete is equal to the amount of time it takes for the session to communicate with the Gateway, plus the time it takes for the Gateway to communicate a successful tag write back to the Session.
Faster connection speeds on either the session-end or the Gateway-end can reduce the amount of time the overlay is present, or you can configure the binding itself to not display the overlay:
