var timers = function() { var timers = []; var timeouts = []; return { 'addTimer': function(interval, callback) { // Because who puts the callback first. Really. var timer = setInterval(callback, interval); timers.push(timer); return timer; }, 'addOnceTimer': function(delay, callback) { // Because who seriously puts the callback first here too? var timeout = setTimeout(callback, delay); timeouts.push(timeout); return timeout; }, 'clearTimers': function() { for(var i;i<timers.length;i++) { clearInterval(timers[i]); } for(var i;i<timeouts.length;i++) { clearTimeout(timeouts[i]); } }, 'clearTimer': function(id) { clearTimer(id); }, 'clearTimeout': function(id) { clearTimeout(id); } }; }; exports.create = function() { return timers(); }