Track passing time in EditorScript

What is the proper way to handle delayed events in an EditorScript?

I come across this problem all the time, but the current project I am working on involves automatically regenerating a computationally intensive mesh after the user tweaks any parameters for it in it's custom editor. I don't want to regenerate it hundreds of times when they are playing with a slider, for example, so I need to keep track of passing time and regenerate the mesh only every second or so if necessary.

When the editor isn't playing and thus Time.time isn't available, what is the correct way to go about doing this?

There is an example for Time in the Editor in the reference for EditorApplication.timeSinceStartup.