EventManager can catch and process exceptions

Application can implement IExceptionHandler, which will receive all exceptions occured within events execution

[closes #30]