public function getController()
    {
        if (
            Config::get('concrete.cache.blocks')
            && isset($this->instance)
            && $this->instance->cacheBlockRecord()
            && is_object($this->instance->getBlockControllerData())
            ) {
            $this->instance->__construct();
        } else {
            $bt = $this->getBlockTypeObject();
            $class = $bt->getBlockTypeClass();
            $app = Facade::getFacadeApplication();
            $this->instance = $app->build($class, [$this]);
        }
        $this->instance->setBlockObject($this);
        $this->instance->setAreaObject($this->getBlockAreaObject());
        
        return $this->instance;
    }