Доброго времени суток

.
Стоит задача: сохранить объект - экземпляр класса, а потом восстановить его. Все это с помощью SharedObject.
Вот класс объекта, который пытаюсь сохранить:

Код:
package model
{
public class Person {
private var _firstName : String;
private var _age : int;
public function Person (firstName : String, age : int) {
_firstName = firstName;
_age = age;
}
public function toString () : String {
return _firstName + _age + " years";
}
}
}
А вот код, которым все это дело и должно сохраняься (но нет

)

Код:
package
{
import flash.net.registerClassAlias;
import model.Person;
import flash.net.SharedObject;
public class Example {
public function Example () {
registerClassAlias("model.Person", Person);
var example : SharedObject = SharedObject.getLocal("example");
if (example.data.person == undefined) {
trace ("first time");
var person : Person = new Person ("Derron", 24);
example.data.person = person;
} else {
trace ("it is already saved");
}
trace (example.data.person.toString());
}
}
}
Когда идет попытка восстановить объект, плеер выкидывает ошибку с тем, что ожидалось 2 параметра в конструкторе класса Person, а получено 0. Получается что при восстановлении флеш вызывает конструктор класса без параметров...
Я пробовал исключить параметры из конструктора и перенести инициализацию в отдельный метод. В результате после восстановления я получаю объект нужного класса, но с пустыми значениями полей..
Подскажите, пожалуйста, как все-таки можно восстановить объект?