GetTime() -- cooldown starts immediatelly (SetCooldown() uses your computer's uptime as 'now', not 0. Computer's Uptime is in ms and you can get it from GetTime().)
GetTime()+4 -- cooldown will start after 4 seconds
GetTime()-5 -- cooldown is in progress (if duration is 10 then it starts cd animation in the middle, as 5 seconds from 10sec cooldown already elapsed)

duration: duration of your cooldown in seconds (number)

Cooldown:SetCooldown(GetTime()-x*z, y*z)

or

Cooldown:SetCooldown(GetTime()-(x/y)*z, z)

To start cooldown in the middle set x/y = 1/2 or 0,5 (x=1, y=2 in the fist example), to start at 9/10 set x/y = 9/10 etc. z can be used to reduce or increase speed of animation (cooldown length). Logically z-(x/y) gets you the duration of cooldown.
When the cooldown expires, its texture gets lost.