public function get($key, $default = null)
    {
        if (!array_key_exists($key, $this->settings)) {

            if (is_null($default)) {
                throw new InvalidKeyException();
            }

            return $default;
        }

        return $this->settings[$key];
    }