public function removeSubscriber($idOrSubscriber): NodeInterface
    {
        if (!is_string($idOrSubscriber)
            && (!is_object($idOrSubscriber) || !($idOrSubscriber instanceof SubscriberInterface))
        ) {
            throw new \InvalidArgumentException(
                'Argument "$idOrSubscriber" must be a string or an instance of '.
                'IronEdge\Component\Graph\Event\SubscriberInterface.'
            );
        }

        $id = is_string($idOrSubscriber) ?
            $idOrSubscriber :
            $idOrSubscriber->getId();

        unset($this->_subscribers[$id]);

        return $this;
    }