JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.3.0.debug.js"></script>
<div data-bind="text: ko.toJSON($root)"></div>
<p>
    <input type="text" data-bind="value: value" />
    <br/>timeStamp1:<span data-bind="text: timeStamp1"></span>
    <br/>timeStamp2:<span data-bind="text: timeStamp2"></span>

JavaScript

function VM(){
    
    var self = this;
    self.logged  = false;
    
    
    self.valueInstance = ko.observable();
    self.value = ko.computed({
        read: function () {
            return self.valueInstance();
        },
        write: function (value) {
            self.valueInstance(value);
        },
        deferEvaluation: true
    });

    self.timeStamp1 = ko.observable();
    self.value.subscribe(function (newValue) {
        if(self.logged)
        self.timeStamp1(new Date());
    });

    self.timeStamp2 = ko.observable();
    self.valueInstance.subscribe(function (newValue) {
        if(self.logged)
        self.timeStamp2(new Date());
    });
}
var vm  = new VM();
ko.applyBindings(vm);
vm.logged = true;