So you don't have to deep watch, you could just setup a normal watch on the date's integer value here.

```js
scope.$watch(function getDateInt() {
  return +scope.model;
}, function(timestamp) { 
  if (!isNaN(timestamp) && timestamp > 0) {
    ...
  }
});
```