function Observer(){
this.listeners = {};
}
Observer.prototype.on = function(event, func) {
if(!this.listeners[event]){
this.listeners[event] = [];
}
this.listeners[event].push(func);
};
Observer.prototype.off = function(event, func) {
var ref = this.listeners[event],
len = ref.length;
for(var i=0; i<len; i++){
var listener = ref[i];
if(listener === func){
ref.splice(i, 1);
}
}
};
Observer.prototype.trigger = function(event, func) {
var ref = this.listeners[event]
for(var i=0,len=ref.length; i<len; i++){
var listener = ref[i];
if(typeof listener === "function") listener();
}
};
module.exports = Observer;