Instead, defer validation until use, which allows us to preserve
whatever weird state another device has set. Locally-invalid reactions
will still be replaced with the default reaction at the same index
when the user actually tries to apply a reaction, and this will stick
if the user customizes their reactions locally.