validateInput is now supplied through an options object to the ko.observable function. This allows the initial value to also be validated and removes the need to make "undefined" values compare as different.