protected function initializeState(RawLayout $rawLayout, ContextInterface $context)
    {
        $this->rawLayout = $rawLayout;
        $this->context   = $context;

        $this->dataAccessor    = new DataAccessor($this->registry, $this->context);
        $this->optionsResolver = new BlockOptionsResolver($this->registry);
        $this->typeHelper      = new BlockTypeHelper($this->registry);
        $this->blockBuilder    = new BlockBuilder(
            $this->layoutManipulator,
            $this->rawLayout,
            $this->typeHelper,
            $this->context
        );
        $this->block           = new Block(
            $this->rawLayout,
            $this->typeHelper,
            $this->context,
            $this->dataAccessor
        );
    }