first stab at ability to provide a callback function, which needs access to ngModel
Merge branch 'master' into callback