Renamed variables
Refactoring EventDispatcher priority
Added fluent interface in EventListener->detach()
Added fluent interface in EventDispatcher->dispatch()
Moved share closure to a protected method