JSFiddle - React, Tailwind, and code Playground

HTML

<p>Description observable: <input data-bind="value: Description, valueUpdate: 'afterkeydown'" /></p>
<hr />
<p>Description observable: <span data-bind="text: Description"></span></p>
<hr />
<button onclick="wups()">try to assign string to observable property</button> (nothing will happen)
<hr />
Root toJSON:
<pre data-bind="text: ko.toJSON($root)"></pre>

JavaScript

var ViewModel = function() {
    var self = this;
    var description = ko.observable("Test");
    self.__defineGetter__("Description", function() { return description; });
};

var vm = new ViewModel();

window.wups = function() {
    alert('Trying to overwrite Description on vm.');
    vm.Description = "wups!";
}

ko.applyBindings(vm);