private function dispatchUrl($default = '#')
    {
        if ($this->isType('url')) {
            return $this->getProperty('url');
        }

        if ($this->isType('route')) {
            list($route, $parameters) = $this->getProperty('route');

            return route($route, $parameters);
        }

        if ($this->isType('action')) {
            list($action, $parameters) = $this->getProperty('action');

            return action($action, $parameters);
        }

        return $default;
    }