code: public function setDeferredChannel($channel, callable $callback)
  	{
  		if (isset($this->channels[$channel])) {
  			throw new InvalidArgumentException("Channel $channel is already defined");
  		}
  
  		$this->deferredChannels[$channel] = $callback;
  	}
docs: Define a deferred channel. The callback will be invoked and the return
  value passed to setChannel. The return value must implement
  Psr\Log\LoggerInterface.
  
  @param string   $channel
  @param callable $callback Callback that takes no arguments
  
  @throws InvalidArgumentException If the channel is already defined.