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