Can't register a listener for a custom event

I made a custom event and I can’t listen for it for some odd reason… When I do this:


this.addEventListener(Event.EnemyEvent, enemySpawned);

I get this error:
“1119: Access of possibly undefined property EnemyEvent through a reference with static type Class.”

Any ideas why? Here is the custom event code:


package events {
    
    import flash.events.Event;
    import collision_objects.enemies.Enemy;
    
    public class EnemyEvent extends Event {
        
        public static const SPAWN:String = "spawn";
        
        private var _enemy:Enemy;
        
        public function EnemyEvent(type:String, bubbles:Boolean, cancelable:Boolean, enemy:Enemy) {
            super(type, bubbles, cancelable);
            
            _enemy = enemy;
        }
        
        public function get enemy():Enemy {
            return _enemy;
        }
    }
}

Here is the class where the event is dispatched: (see the end)


package generators {
    
    import flash.display.Stage;
    import flash.events.TimerEvent;
    import flash.utils.Timer;
    import flash.events.EventDispatcher;
    import interfaces.IPausable;
    import collision_objects.enemies.*;
    import events.EnemyEvent;
    
    public class EnemyGenerator extends EventDispatcher implements IPausable {
        
        private var _stage:Stage;
        private var _spawnTimer:Timer;
        
        public function EnemyGenerator(stageRef:Stage):void {
            _stage = stageRef;
            setupSpawn();
        }
        
        private function setupSpawn():void {
            var randomDelay:Number = Math.random() * 5000 + 1;
            
            _spawnTimer = new Timer(randomDelay, 1);
            _spawnTimer.addEventListener(TimerEvent.TIMER, spawnEnemy);
            _spawnTimer.start();
        }
        
        private function spawnEnemy(e:TimerEvent):void {
            
            _spawnTimer.removeEventListener(TimerEvent.TIMER, spawnEnemy);
            _spawnTimer = null;
            
            var randomY:Number = Math.random() * _stage.stageHeight;
            var enemy:Enemy = new Stinger(_stage, randomY);
            
            this.dispatchEvent(new EnemyEvent(EnemyEvent.SPAWN, true, false, enemy));
            
            setupSpawn();
            
        }
...

And here is the class where I am trying to add the event listener:


package {
    
    import flash.display.Stage;
    import flash.events.Event;
    import events.EnemyEvent;
    import collision_objects.CollisionObject;
    import collision_objects.ships.*;
    import collision_objects.enemies.*;
    import generators.*;
    
    public class ProximityController {
        
        private var _stage:Stage;
        private var _hero:CollisionObject;
        private var _enemiesArray:Vector.<CollisionObject>;
        private var _enemyBulletsArray:Vector.<CollisionObject>;
        private var _herobulletsArray:Vector.<CollisionObject>;
        private var _enemyGenerator:EnemyGenerator;
        
        public function ProximityController(stageRef:Stage) {
            
            _stage = stageRef;
            
            _enemiesArray = new Vector.<CollisionObject>();
            _enemyBulletsArray = new Vector.<CollisionObject>();
            _herobulletsArray = new Vector.<CollisionObject>();
            
            _enemyGenerator = new EnemyGenerator(_stage);
            _hero = new Hero(_stage);
            
            _stage.addEventListener(Event.ENTER_FRAME, run, false, 0, true);
            this.addEventListener(Event.EnemyEvent, enemySpawned);
        }