Added more tests for existing functionality
Don't call callback twice if there is an exception in callback itself

I can't write regression test for this bug, so you should just belive me :-)
Merge pull request #5 from glyuck/bug_callback_called_twice

Callback called twice if there is an exception in callback itself