public function makeComponent($name, $cmsObject = null, $properties = [])
    {
        $className = $this->resolve($name);
        if (!$className) {
            throw new SystemException(sprintf(
                'Class name is not registered for the component "%s". Check the component plugin.',
                $name
            ));
        }

        if (!class_exists($className)) {
            throw new SystemException(sprintf(
                'Component class not found "%s". Check the component plugin.',
                $className
            ));
        }

        $component = App::make($className, [$cmsObject, $properties]);
        $component->name = $name;

        return $component;
    }