In a file based application, if one attempts to perform any operation which
may discard a changed buffer that operation is interrupted and you get a
dialogue asking you if you wish to save the contents, potentially followed by
another dialogue asking you to name the file, followed by the actual save
operation, followed afterwards by whatever original action you had requested.

Which brings up the question:

What does a callback need to do/save so that later on, some other portion of
the program can do whatever it takes to cause that original callbackk to be
re-executed with the same parameters ?

What is the best routine to use to resubmit an event to retrigger the callback
with the same orginal callback structure whatever it might have been ? (for
instance, an list selection callback or a push button callback).