Need help with a GAS Breakdown of XCOM

Hello everyone!

Like others I’ve been trying to wrap my head around the Gameplay Ability System for a while. And I’m now at a point where I think I kind of understand the basics.
But I still struggle to find solutions that would apply to my project. When to use abilities and when not is my biggest struggle.

My current project is a turn based rpg inspired by xcom, FF:Tactics, DOS2, etc

So, I wanted to make an ability of movement. I thought, should the ability only handle the movement from ONE tile to another and checking whether it triggers anything by tags. Or should it handle the whole movement path? Because I might wanna have an attack ability that includes tile movement as well. So it would be useful if the movement part is all derived from a single ability.
Then I was thinking about the selection process. The grid display and movement range with a displayed path when you hover over potential tiles. Should that also be an ability? In that case the ability activates as soon a turn starts and it waits for a target data.
Thinking about this melts my non-programmer brain, so I would like to ask if someone could breakdown how or when you would use abilities for XCOM.

Ps.: I got most of it already working before, but it was slow, badly written and didn’t allow for expansion. The async tasks and tag system from GAS made me decide rewrite a large part of the code.

Thank you!