Thanks for the answer, but I'm having some trouble to understand this:
6v6gt:
You could try putting the call of mySwitch.resetAvailable() after mySwitch.resetAvailable() instead of before it as you have.
Can you please be more explicit?
About the delays, I thought they where not a problem, because the purpose is only to pass to another function, when the first one is over.
For example, click button A, the light lights up, wait a little, click again it goes out, click again the Turning Signals flashes 10 times, and go off.
Only then you press another button. That's the idea and why I have the delays.