Глобальный таймер в Javascript с несколькими обратными вызовами

Я хочу создать глобальный объект таймера в javascript, а затем иметь возможность добавлять обратные вызовы к нему на лету. Таким образом, я могу просто использовать один глобальный таймер в моем скрипте, чтобы выполнять все действия через определенный интервал, а не тратить ресурсы, используя кратные.

Вот как я хочу быть в состоянии собрать вещи воедино:

var timer = new function() { 
 clearInterval( this.interval );

 //[1] At this point I want the Callbacks to be run

 var self = this;
 setTimeout(function() {self.timer()}, 200);
}

function otherObject = new function() {
    //When created I want to bind my object's function called cb to the global timer at [1]
}

otherObject.prototype.cb = function() {
    //Stuff that should be done every time the timer is run
}

var someObject = new otherObject();

Как бы я позволил привязать любые числовые функции (большинство из которых являются функциями в других объектах) к запуску с интервалом моего таймера на лету?