Need help with Slow Motion

Hello I am a still a novice. I am working on a Slow Motion Ability for my Character. So far it can slow down time and has a cool-down time so that the ability cannot be spammed.
Currently you press a button to enter the slow motion state and press it again to exit the state. The state works with a single button press and toggle; not button held down.

What I am looking for is a way to

  1. drain the ability (like sprint stamina drains) so that it will exit the state when it hits 0.
  2. still have the ability to manually toggle the ability like it is currently.

Any help would be greatly appreciated.