public function get($key = null, $default = null)
    {
        if (empty($key))
        {
            return $this->settings;
        }

        $ts = microtime(true);

        if($ts !== array_get($this->settings, $key, $ts))
        {
            return array_get($this->settings, $key);
        }

        if ( ! is_null($this->fallback) and $this->fallback->fallbackHas($key))
        {
            return $this->fallback->fallbackGet($key, $default);
        }

        return $default;
    }