Good question.
Events are sent in a synchronous mode, so until a handler returns, the client won't send more events.
So in the current version maybe you can manage at server side that handling the request was done between timestamps t1 and t2, and if a new event arrives from the client that has t3 timestamp which is less than t2, simply don't act on it.
Yes, disabling components while their event is processed could be a good enhancement, file an enhancement issue if you feel like it.
Thanks.