function wrappedHandler() {
                    // remove ourself, and then call the real handler with the args
                    // passed to this wrapper
                    handler.apply(obj.off(eventName, wrappedHandler), arguments);
                }
// create a wrapper listener, that will remove itself after it is called
create a wrapper listener, that will remove itself after it is called
create a wrapper listener that will remove itself after it is called
function wrappedHandler() {
                    handler.apply(obj.off(eventName, wrappedHandler), arguments);
                }
function wrappedHandler ( ) { handler . apply ( obj . off ( eventName , wrappedHandler ) , arguments ) ; }
create a wrapper listener, that will remove itself after it is called
create a wrapper listener that will remove itself after it is called
// remove ourself, and then call the real handler with the args // passed to this wrapper