Let's say I have something like `<input type="text" data-bind="format: quantity">`, that uses an custom `bindingHandlers` called `format` defined like this:

```
var getElementValue = function($element) {
  return $element.val().replace(/\$/g, '');
};

ko.bindingHandlers.format = {
  init: function(element, bindingAccessor) {
    var $element = $(element),
      bindings = bindingAccessor();

    $element.val('$' + ko.unwrap(bindings));

    $element.change(function () {
      bindings(getElementValue($element));
    });
  },
  update: function(element, bindingAccessor) {
    var $element = $(element),
      bindings = bindingAccessor();
  $element.val('$' + ko.unwrap(bindings));
  }
};

```

And a view model like:

```
var ViewModel = function() {
  var self = this;
  self._quantity = ko.observable(0);
  self.quantity = ko.computed({
    read: self._quantity,
    write: function(newValue) {
      if (newValue < 0) {
        self._quantity.valueHasMutated();
        console.log('quantity is invalid');
        return;
      }
      self._quantity(newValue);
    }
    });
}

```

Since negative quantity is not allowed, the idea would be to revert the input to it previous value if that is provided.

However, the `self._quantity.valueHasMutated();` in the `write` function is not notifying the `bindingHandlers` `update` of a mutation.

Any ideas? I have a [JSFiddle setup for more details](http://jsfiddle.net/tt7yrote/5/).