Drawing curves dynamically

I’ve made a small application that draws a curve by dragging points. Two points drag the line and a third line controls the curve. It all seems to work fine, but slows everything else that’s going on on my pc.(Windows Task Manager>Performance>CPU usage steadily increases.) I assume that it’s to do with removeEventListeners or stopping the timer, but whatever I try doesn’t seem to work (I’ve tried all the combinations/options I can think of). The basic code I’m using is:

 
this.addEventListener(Event.ENTER_FRAME, drawFunction)
function drawFunction(event:Event):void{
 graphics.lineStyle(2, 0x000000);  
graphics.moveTo (point2.x,point2.y);
graphics.curveTo(point3.x, point3.y,point1.x,point1.y);
}
// timer to refresh screen
var timer:Timer = new Timer(50,0);
timer.addEventListener(TimerEvent.TIMER, timerListener);
timer.start();
function timerListener(e:TimerEvent):void{
 e.updateAfterEvent();
}
point1.addEventListener(MouseEvent.MOUSE_MOVE,clearDr)
point1.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
point1.addEventListener(MouseEvent.MOUSE_UP, putDown);
point2.addEventListener(MouseEvent.MOUSE_MOVE,clearDr)
point2.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
point2.addEventListener(MouseEvent.MOUSE_UP, putDown);
point3.addEventListener(MouseEvent.MOUSE_MOVE,clearDr)
point3.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
point3.addEventListener(MouseEvent.MOUSE_UP, putDown);
 
function clearDr(event:MouseEvent):void {
graphics.clear();
}
function pickUp(event:MouseEvent):void {;
event.target.startDrag();
}
function putDown(event:MouseEvent):void {;
event.target.stopDrag();
}

I’ve attached this code to a movieclip, so that I can then use the movieclip on a bigger graph drawing application. (N.B.I’m new to AS3 and limited ability in AS2)
I’d appreciate anyone who can point me in the right direction!