A remove Child Caller question

Here’s the class

package
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.media.SoundTransform
	import com.greensock.easing.*;
	
	public class StarFieldView extends MovieClip
	{
		private var star:Star;
		private var _starFieldController:Object;
		private var _starFieldModel:Object;
		//private var tween:TweenLite = new TweenLite();
		
		//private var _stage:Object;
		
		
	
		public function StarFieldView(StarFieldModel:Object,StarFieldController:Object):void
		{
			//_stage=Stage;
			_starFieldModel = StarFieldModel;
			_starFieldModel.addEventListener(Event.CHANGE, changeHandler);
			_starFieldController = StarFieldController;
			addEventListener(Event.ADDED_TO_STAGE,starFieldViewAddedToStage)
			
		}
		
		private function starFieldViewAddedToStage(e:Event):void 
		{
			star = new Star();
			star.scaleX=.25;
			star.scaleY=star.scaleX;
			star.x = 600;
			star.y = 100;
			
			addEventListener(Event.ENTER_FRAME,enterFrameEvent)
			
			
			[COLOR="Blue"]addChild(star);[/COLOR]
			removeEventListener(Event.ADDED_TO_STAGE, starFieldViewAddedToStage);
			
		}
		
		private function enterFrameEvent(e:Event):void 
		{
			_starFieldController.moveIt();
		}
		
		private function changeHandler(e:Event):void 
		{
				
				star.x = _starFieldModel.starX;
				if(star.x<10)
				{
					[COLOR="blue"]removeChild(star);[/COLOR]
					trace("child removed");
				}
				
		}
		
		
	}
}

when i do this it does remove the child BUT i get the old “The supplied DisplayObject must be a child of the caller.” business. How would i do this properly???