Should this change be applied to button.disabled instead? So each call-site doesn't have to know about the workaround?