The variable cooldown thing is annoying and frustrating. Either do away with them entirely (my preference), disclose the cooldown in a visible timer or make everything follow the same reset timer. There are too many of these systems to track and no straightforward way to do so.