Properly ignore cancelled events, update piston retract only if piston is sticky