public function getChannel($channel = null)
	{
		$channel = $channel ?: $this->defaultChannel;

		if (isset($this->deferredChannels[$channel])) {
			$this->setChannel($channel, $this->deferredChannels[$channel]());
			unset($this->deferredChannels[$channel]);
		}

		if (isset($this->channels[$channel])) {
			return $this->channels[$channel];
		}

		throw new InvalidArgumentException("Undefined channel: $channel");
	}