Removing an EventListener and this

This seems like its pretty obvious, add remove, what can go wrong?

Well, mine isn’t removing – not sure why but get the feeling its because the handler was added outside of any function (stage/root). And inside the function I need to ref the stage? But what is the proper label for the stage? “stage.” and “root1” didn’t work for me. or is it something else completely?

this.addEventListener(MouseEvent.ROLL_OVER,RollitOver);
this.addEventListener(MouseEvent.ROLL_OUT,RollitBack);
this.addEventListener(MouseEvent.CLICK,ClickIt);
 
function RollitOver(event:MouseEvent) {
trace("Rolled on in");
}
function RollitBack(event:MouseEvent) {
trace("Rolled on out");
}
function ClickIt(event:MouseEvent) {
// trace(hasEventListener(MouseEvent.ROLL_OUT)); // shows true
trace("clicked it");
// this.removeEventListener(MouseEvent.ROLL_OUT,RollitBack,true); // tried false/default capture too
removeEventListener(MouseEvent.ROLL_OUT,RollitBack,true); 
// what happens is the trace "Clicked it" appears and then when the mouse rolls out 
// the trace "rolled on out" also appears, but that should be removed. (or, at least, that's
// the desire.)
}

You might see extra spaces in the text/post above. they’re artifacts of a strange Kirupa edit session.

thanks good people, Bryan