State updates should be done server-side. Handling shift-clicking too.