removeEventListener does not work in as3?

Hello everyone
I’m a poor man suffering as2 to as3 migration-itis
I have a fla with this code. It puts a button on the stage and adds rollover-rollout listeners to it:


 
package ugh{ 
import flash.display.*
import flash.events.* 
public class ugh extends Sprite{
public function ugh(){
function onOver(e:MouseEvent){ 
var d=e.target 
trace("in:"+d)
var g=new Go(d) 
}
function onOut(e:MouseEvent){ 
var d=e.target 
trace("out:"+d)
var g=new Go(d) 
} 
var b=new button()
addChild(b) 
b.addEventListener(MouseEvent.MOUSE_OVER,onOver) 
b.addEventListener(MouseEvent.MOUSE_OUT,onOut)
}// fin ugh
}
} 
 


And I have this static class, which is used when rollovers are detected


 
package{
import flash.display.*
import flash.events.* 
public class Go{
public function Go(loque:Sprite){
if(loque.hasEventListener(Event.ENTER_FRAME)){ 
trace("quit")
loque.removeEventListener(Event.ENTER_FRAME, procede)
}else{
trace("add") 
loque.addEventListener(Event.ENTER_FRAME,procede)
}
var k=0
function procede(e:Event){ 
trace("procede:"+e.target+" k:"+k)
k++ 
if(k>10){ 
loque.removeEventListener(Event.ENTER_FRAME, procede) 
} 
}// fin procede 
}// fin go
}// fin class
}// package 


If you rollOver the button, a count is traced (1, 2, 3…); a number per frame, up to ten.
If you rollOut the button before the count ends, the enterFrame is detected but its not removed, despite the removeEventListener, and the count does not stop. I already tried loque.removeEventListener(“enterFrame”, procede) instead of loque.removeEventListener(Event.ENTER_FRAME, procede), but no way

any ideas?

thanks!