protected function getPostDelete() { return function ($proxy, $instance, $method, $params, $returnValue, &$returnEarly) { /** @var EntityManager $instance */ $event = new DeleteEvent($instance, $params['entity']); $event->setReturnValue($instance); $instance->getDispatcher()->dispatch(Event::POST_DELETE, $event); if ($event->getAbort()) { $returnEarly = true; return $event->getReturnValue(); } return $returnValue; }; }