refactor a bit.
add customized version of lazy model directive.
change clear button to be a reset type, which will trigger the lazy model directive.
only set pristine of form if valid.
formatting and credits for lazy model.
change test selector to use id instead of model binding.