Validation fires events

Hi,

I thought it would be useful to fire events once the validation finishes. It does also help avoid those `setTimeout`s in the test :).

Although I think the best solution should be to return a RSVP promise - I'll try to tackle that on a further pull request.