Doing other actions during casting/movement

What is this suggestion related to (eg. Website / Launcher / The game itself / etc. ): Game

Description:
Casting should not be canceled by M2 target move command.

Casting should be canceled only with:

1.WSAD or ground clicking movement.
2. By pressing the ESC key.

M2+casting:

1.During movement to the target(M2), start casting stops the movement, but is interrupted by the initial movement immediately after its start.
2. During casting, clicking M2 on the target should target the target(same as M1) without cast interruption and the character should start moving to the target only right after(queue) the cast is over. Cast should not be interrupted by performing targeting with M2.

Add ESC key cast cancel feature. Add actions queue mechanics. Esc key should cancel any queues.

I have reported Casting+M2: №1 thing as a bug which is already confirmed. I messed up a bit making this suggestion. The suggestion includes everything except Casting+M2 №1.

I think there is actually 2 separated suggestion i want to add.
3. Additionally i would like to add that M2 targeting should work different in casting and non casting cases. If the cast is already happening than M2 should work as targeting action only and the movement to the target should start after the cast ends. Targeting with M2 should not interrupt the cast if its already happening.
4. But the skill queue is a different thing. I think if skill queues will make it to the game then there is should be an option to turn it off/on. Skill queue is nice feature which helps if playing with high ping and/or low fps. The feature is useful in general because it helps to chain skills perfectly even if a game runs perfectly. Not sure but i think queue for the “next skill” triggers only if you start to spam the “next skill” button in the last 0.1-0.3 seconds of the global cooldown or the casting of the previous skill. I dont know the exact values for the queue trigger. i think its based on the GCD value. The bigger GCD value the bigger queue trigger value(not sure). Maybe its should be balanced personally by the developers.
The way it works: Using/casting a skill->at the and of the GCD or the casting start to spam next skill button(or just click it once, usually players trying to spam the skill to use it as soon as possible)->queue triggers->next skill will be used as soon as possible.
If there is a skill in the queue than the game knows that this skill must be performed as soon as possible because the player queued it.
I dont know how it would work with all the client + server stuff at ymir though. At this moment it works like that: you must press the skill button only if nothing is happening. And only after that the game will notice what to do.
I cant struggle sometimes having no queues already with about 50 latency and 100 fps. Its like i can experience it even at this point.
The game is playable, of course, but there is always room for improvement.
5. Maybe it worth to add action cancel key bind option. Sure not everybody going to like canceling with ESC button. The way it works with ESC: Esc should cancel any casting or skill queue actions but if nothing is happening the ESC key should work as game menu button.