JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/3.1.0/knockout-min.js"></script>
<input data-bind="value: test, valueUpdate: 'afterkeydown', customOne: test2, customTwo: test2, customThree: test2, customFour: test2" />
<input type="checkbox" data-bind="checked: test2" />

JavaScript

ko.bindingHandlers.customOne = {
    update: function(element, valueAccessor, allBindingsAccessor) {
        var value = valueAccessor();
        var allBindings = allBindingsAccessor();
        console.log('i get never called after the first update');
    }
};
ko.bindingHandlers.customTwo = {
    update: function(element, valueAccessor, allBindingsAccessor) {
        var value = valueAccessor();
        var allBindings = allBindingsAccessor();
        console.log('i work as expected');
        console.log(value());
    }
};
ko.bindingHandlers.customThree = {
    update: function(element, valueAccessor, allBindingsAccessor) {
        var value = valueAccessor();
        var allBindings = allBindingsAccessor();
        console.log('customThree: why get i called on value change? I am not a value binding. And why i donnot get called on test2 change...thats my binding');
        console.log(allBindings.value());
    }
};
ko.bindingHandlers.customFour = {
    update: function(element, valueAccessor, allBindingsAccessor) {
        var value = valueAccessor();
        var allBindings = allBindingsAccessor();
        console.log('customFour: why get i called on value change? I am not a value binding');
        console.log(value());
        console.log(allBindings.value());
    }
};

var ViewModel = function() {
    this.test = ko.observable();
    this.test2 = ko.observable();
}

ko.applyBindings(new ViewModel());