id => url */ public array $targets = []; public function registerTarget(string $name, string $url): string { // Idempotent by URL — a retry after a crash returns the same target id. $existing = array_search($url, $this->targets, true); if ($existing !== false) { return $existing; } $id = 'mon-'.substr(sha1($url), 0, 12); $this->targets[$id] = $url; return $id; } public function deregisterTarget(string $externalId): void { unset($this->targets[$externalId]); } }