public function get($key = false, $default = false) {
        if ($key === false) {
          return $this->params;
        }

        if (!$this->has($key) && $default === false) {
          return new Param($key, null);
        }

        if (!$this->has($key) && $default !== false) {
          return new Param($key, $default);
        }

        return new Param($key, $this->params[$key]);
      }