added support for multiple handler for the same event
added support for handler execution ordering