module.exports = ProxyHandler;

function ProxyHandler(cbs){

this._cbs = cbs || {};

}

var EVENTS = require(“./”).EVENTS; Object.keys(EVENTS).forEach(function(name){

if(EVENTS[name] === 0){
        name = "on" + name;
        ProxyHandler.prototype[name] = function(){
                if(this._cbs[name]) this._cbs[name]();
        };
} else if(EVENTS[name] === 1){
        name = "on" + name;
        ProxyHandler.prototype[name] = function(a){
                if(this._cbs[name]) this._cbs[name](a);
        };
} else if(EVENTS[name] === 2){
        name = "on" + name;
        ProxyHandler.prototype[name] = function(a, b){
                if(this._cbs[name]) this._cbs[name](a, b);
        };
} else {
        throw Error("wrong number of arguments");
}

});