public function remove($pk)
{
$storageController = $this->objects->getStorageController($this->getObject());
$pk = $storageController->normalizePrimaryKey($pk);
$this->primaryKey = $pk;
$args = ['pk' => $pk, 'mode' => 'remove'];
$eventPre = new GenericEvent($this->getObject(), $args);
$this->eventDispatcher->dispatch('core/object/modify-pre', $eventPre);
$this->eventDispatcher->dispatch('core/object/remove-pre', $eventPre);
$item = $this->getItem($pk);
$result = $storageController->remove($pk);
$args['result'] = $result;
$event = new GenericEvent($this->getObject(), $args);
if ($this->getWithNewsFeed()) {
$this->utils->newNewsFeed($this->objects, $this->getObject(), $item, 'removed');
}
$this->eventDispatcher->dispatch('core/object/modify', $event);
$this->eventDispatcher->dispatch('core/object/remove', $event);
return $result;
}