Ability + Tag Layer
WAbilityComponent manages ability objects and enables or disables actions
through tags. TMap<FGameplayTag, int32> allows multiple
systems to assign the same state. OnTagChanged sends signals for
changes in states, allowing characters to respond to such things as crouching,
ADS'ing, and shooting.