public function getParameter($key, $default = null)
    {
        // Request _should_ contain get, post and cookies
        if (array_key_exists($key, $this->parameters)) {
            return $this->parameters[$key];
        }
        // We can also flatten out the variable names to see if they exist
        $flatKey = $this->flatten($key);
        foreach ($this->parameters as $index => $value) {
            if ($flatKey == $this->flatten($index)) {
                return $value;
            }
        }
        return $default;
    }