immitate ko.observable functionality