public function config($key, $default = null)
    {
        // if an array is passed as the key, we will assume you want to set an array of values
        if (is_array($key)) {
            return $this->config = array_merge($this->config, $key);
        }

        return array_key_exists($key, $this->config)
                ? $this->config[$key]
                : $default;
    }