private void PrepareMockAbility(IAbility <IAbilityDataHub> ability, uint slot, bool reset = true)
        {
            ability = Substitute.For <IAbility <IAbilityDataHub> >();
            ability.Cooldown.Returns(_cd);
            ability.ChannelingTime.Returns(_castTime);
            ability.When(x => x.Cast(_mockFactory, _controller.FinishAbilityCasting)).Do(x => {
                _casted = true;
                if (reset)
                {
                    _controller.FinishAbilityCasting();
                }
            });

            _controller.SetAbility(slot, ability);
        }