I checked through the source and saw that the state is being set on every scroll event, does that not seem to be expensive?