protected function generateId($signalName, UrlContract $url)
    {
        $signalPart = preg_replace('/[^a-zA-Z0-9_]/u', '_', $signalName);
        $urlPart = preg_replace('/[^a-zA-Z0-9_]/u', '_', (string) $url);

        return "$signalPart--$urlPart";
    }