var PeriodicalExecuter = ({
initialize: function(callback, frequency) {
= callback;
= frequency;
= false;
();
},
registerCallback: function() {
= setInterval((this), * 1000);
},
execute: function() {
(this);
},
stop: function() {
if (!) return;
clearInterval();
= null;
},
onTimerEvent: function() {
if (!) {
try {
= true;
();
} catch(e) {
/* empty catch for clients that don't support try/finally */
}
finally {
= false;
}
}
}
});