So I've built timers that survive app closure, but it isn't easy. Basically you need to write the system time into a string, save out that string to a file (I use EasySave), then on start, load in the file and compare the time difference to however fast you're regeneration is.
There really isn't any premade thing I could point you to. In my project I have an FSM which purely gets the system time, another FSM that writes all my variables I care about via EasySave, another FSM that loads everything, and then my actual object FSM that gets those variables from my load manager.