public function connect($route, $defaults = [], array $options = [])
    {
        $defaults = $this->parseDefaults($defaults);
        if (empty($options['_ext'])) {
            $options['_ext'] = $this->_extensions;
        }
        if (empty($options['routeClass'])) {
            $options['routeClass'] = $this->_routeClass;
        }
        if (isset($options['_name']) && $this->_namePrefix) {
            $options['_name'] = $this->_namePrefix . $options['_name'];
        }
        if (empty($options['_middleware'])) {
            $options['_middleware'] = $this->middleware;
        }

        $route = $this->_makeRoute($route, $defaults, $options);
        $this->_collection->add($route, $options);

        return $route;
    }