JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.js"></script>
<!-- ko with: inner -->
<input type="text" data-bind="value: text" />
<!-- /ko -->
<button data-bind="click: reset">Reset</button>

JavaScript

function createInnerViewModel(){
    var self = {};
    
    self.text = ko.observable('foo');
    
    return self;
}
    
function createOuterViewModel(){
    var self = {};

    self.inner = ko.observable(createInnerViewModel())
    self.reset = function(){
        self.inner(createInnerViewModel());                                    
    }

    return self;
}

var viewModel = createOuterViewModel();
ko.applyBindings(viewModel);

viewModel.inner().text('bar');