function clsCallback(){
	this.callbacks = new Array();
	
	this.add = function(callback, data){
		var i = this.callbacks.length;
		this.callbacks[i] = { 
				fn : callback,
				data : data
		};			
		return i;
	};
	
	
	this.remove = function(index){
		if(this.callbacks[index]!=null){
			delete this.callbacks[index];
			return true;
		}
		return false;
	};
	
	
	this.count = function(){
		return this.callbacks.length;
	};
	
	this.exec = function(){
		for(var i in this.callbacks ){
			this.callbacks[i].fn(this.callbacks[i].data);
		}
	};
	
}