Allow a custom function to be used for the watch expression
jshint fixes
Update the isolated scope
Add docs for the new functionality