I'd have just implemented modechanged-user-s directly.
Typically, implementing modeactioncheck and running it as a mode implies there are some conditions for it to run, which there aren't here. It increases complexity without gain.
Your modeactioncheck name is wrong and will never be called.
Your modeactioncheck wouldn't have happened anyway if it was right because you forgot to put any actions in the mode's affectedActions.
I'd have just implemented modechanged-user-s directly.
affectedActions
.