public function account($account)
    {
        if (isset($this->accounts[$account])) {
            return $this->accounts[$account];
        }

        if (!isset($this['config']['account'][$account])) {
            throw new InvalidConfigException('This account not exist.');
        }

        return $this->accounts[$account] = new self(
            array_merge($this['config']->all(), $this['config']['account'][$account])
        );
    }