public function args($key = array())
    {
        if (is_array($key)) {
            $args = array();
            if (!empty($key)) {
                foreach ($key as $k) $args[$k] = $this->args($k);
            } else {
                $args = $this->arguments;
            }
            return $args;
        } elseif (is_string($key) && !empty($key)) {
            return $this->$key;
        } else {
            return null;
        }
    }