Есть у меня простой класс: две приватные переменные и геттер и сеттер для каждой из них:

Код AS3:
package classes
{
import flash.display.Sprite;
public class Test extends Sprite
{
private var _x: uint;
private var _y: uint;
public function Test(x:uint, y: uint)
{
_x = x;
_y = y;
}
public function get defaultX():uint {
return _x;
}
public function set defaultX(x: uint):void {
_x = x;
}
public function get defaultY():uint {
return _y;
}
public function set defaultY(y: uint):void {
_y = y;
}
}
}
Кроме того, в этом классе есть функция, которая рисует в этом спрайте фигуру, но я ее выводить тут не стал, она работает корректно.
Дальше я создаю экземпляр этого класса, привязываю к нему листенер события маус_даун и пытаюсь использовать свои сеттеры и геттеры, для этого в конструкторе основного класса пишу:

Код AS3:
var t: Sprite = new Test(10,20);
t.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
trace(t.defaultX);
trace(t.defaultY);
И в этом коде флэш спотыкается о строчки с трейсами, говорит: "1119. Обращение возможного неопределенного свойства defaultX через ссылку со статическим типом flash.Display:Sprite". Но при этом, если я в функции mouseDown, которая у меня срабатывает при нажатии на спрайт, пишу код:

Код AS3:
trace(event.target.defaultX);
trace(event.target.defaultY);
, то здесь корректно выводятся значения переменных. С сеттерами та же ситуация.
Что делаю не так, где может быть проблема?