var TT_Event = {
    observe: function (obj, eName, callback) {
        if (obj.Events == undefined)
            obj.Events = new Object();
        if (obj.Events[eName] == undefined)
            obj.Events[eName] = new Array();
        obj.Events[eName].push(callback);
    },
    
    notify: function (obj, eName, msg) {
        if (obj.Events == undefined) return
        if (obj.Events[eName] == undefined) return
        for (var i=0; i<obj.Events[eName].length; i++)
            if (typeof obj.Events[eName][i] == 'function')
                obj.Events[eName][i](msg);
    },
    
    stopObserving: function (obj, eName, callback) {
        if (obj.Events == undefined) return
        if (obj.Events[eName] == undefined) return
        obj.Events[eName] = obj.Events[eName].without(callback);
    }
}



