channels[$appId][$channelId])) { /**TODO: make this variable to go away */ $channelClass = $this->detectChannelClass($channelId); $this->channels[$appId][$channelId] = new $channelClass($channelId); } return $this->channels[$appId][$channelId]; } public function find(string $appId, string $channelId) { return $this->channels[$appId][$channelId] ?? null; } protected function detectChannelClass($channelId) : string { if (starts_with($channelId, 'private-')) { return PrivateChannel::class; } if(starts_with($channelId, 'presence-')) { return PresenceChannel::class; } return Channel::class; } }