Erro na propriedade do acessador: não é possível redefinir 'status' da propriedade não configurável

Estou tentando definir um objeto e criar umaccessor property por isso.

HTML:

<input type='hidden' id='crudMode' value='Create' />

JavaScript:

crudMode = {
   create: "Create",
   read: "Read",
   update: "Update",
   delete: "Delete",
   current: function () { return $('#crudMode').val(); }
}

Object.defineProperty(crudMode, 'mode', {
    get: function(){
        return this.current();
    },
    set: function(value){ 
        $('#crudMode').val(value);
    }
});

Mas quando eu o uso, lança o erro mencionado no título da pergunta:

console.log(crudMode.mode);

Throws:

TypeError: não é possível redefinir a propriedade não configurável 'mode'

O que há de errado aqui?

questionAnswers(1)

yourAnswerToTheQuestion