protected function setupOptions($options)
    {
        if(empty($options[static::EXTENSION_ID])) {
            $cls = get_class($this);
            strtok($cls, '\\');
            $options[static::EXTENSION_ID] = strtok('\\');
        }
        $options = array_merge([
            static::STYLESHEET   => Template::css('tao-3.css', 'tao'),
            static::LOGO_URL     => Template::img('tao-logo.png', 'tao'),
            static::LABEL        => $options[static::LABEL],
            static::EXTENSION_ID => $options[static::EXTENSION_ID],
            static::ID           => $options[static::EXTENSION_ID]
                                    . StringUtils::camelize(StringUtils::removeSpecChars($options[static::LABEL]), true)
        ],
            $options
        );

        if($options[static::LOGO_URL] === static::DEFAULT_PATH) {
            $options[static::LOGO_URL] = Template::img(
                $this->defaultThemePath . '/' . static::DEFAULT_LOGO_NAME,
                $options[static::EXTENSION_ID]
            );
        }

        if($options[static::STYLESHEET] === static::DEFAULT_PATH) {
            $options[static::STYLESHEET] = Template::css(
                $this->defaultThemePath . '/' . static::DEFAULT_STYLESHEET_NAME,
                $options[static::EXTENSION_ID]
            );
        }

        $this->setOptions($options);

        return true;
    }