JavaScript serialização e métodos

Sou novo no JavaScript "orientado a objetos". Atualmente, tenho um objeto que preciso passar por páginas. Meu objeto é definido da seguinte maneira:

function MyObject() { this.init(); }
MyObject.prototype = {
    property1: "",
    property2: "",

    init: function () {
        this.property1 = "First";
        this.property2 = "Second";
    },

    test: function() {
      alert("Executing test!");
    }
}

Na página 1 do meu aplicativo, estou criando uma instância do MyObject. Em seguida, estou serializando o objeto e armazenando-o no armazenamento local. Estou fazendo isso como mostrado aqui:

var mo = new MyObject();
mo.test();                                    // This works
window.localStorage.setItem("myObject", JSON.stringify(mo));

Agora, na página 2, preciso pegar esse objeto e trabalhar com ele. Para recuperá-lo, estou usando o seguinte:

var mo = window.localStorage.getItem("myObject");
mo = JSON.parse(mo);
alert(mo.property1);    // This shows "First" as expected.
mo.test();              // This does not work. In fact, I get a "TypeError"  that says "undefined method" in the consol window.

Com base nas saídas, parece que quando serializei o objeto, de alguma forma as funções foram descartadas. Ainda posso ver as propriedades. Mas não consigo interagir com nenhuma das minhas funções. O que estou fazendo de errado

questionAnswers(10)

yourAnswerToTheQuestion