just as I suggested in another comment. I would just get rid of this array, keep it a space delimited string.

then you can get rid of `$updateOn` as well as `$updateOnDefault`. it will be so much simpler but equally powerful.

the directives can then just do `element.on(ngModel.$options.updateOn || 'click', function() { ... });`