protected function getStackedClient()
	{
		$sessionReject = $this->bound('session.reject') ? $this['session.reject'] : null;

		$client = with(new \Stack\Builder)
						->push('Fly\Cookie\Guard', $this['encrypter'])
						->push('Fly\Cookie\Queue', $this['cookie'])
						->push('Fly\Session\Middleware', $this['session'], $sessionReject);

		$this->mergeCustomMiddlewares($client);

		return $client->resolve($this);
	}