No need to check for applicationActive
Reset *if* timer triggers too late
Don't restart timer if explicitly set to singleShot