After being confused about this explanation thinking it was only used for delaying for an hour I understand that you can do different things to different abilities. Delay and Repeating are used by Sam but why would you want to do this? If I activate rage why would I wait x seconds or even repeat it twice? Is there any other examples that could be given?
Also with the delay example this feels like its limited scope, as you cannot alter the delay duration unless adding it to the constructor, what would mean that there would have to be a script managing each abilities delays what breaks the purpose. Alternatively if each ability had a delay duration this isn’t scalable as you would need variables for rage, repeat time etc.