Rework how SGC pushes work, to optimize better. Specifically, changing an attribute and then, without pushing it, changing it back, then pushing, now doesn't send that value - it formerly sent the ultimately-unchanged value.