public function build()
    {
        $this->modifyPreBuild();
        if (!$this->builder->build()) {
            throw new BuilderPatternException('Unable to build');
        }
        $this->modifyPostBuild();

        return $this->renderer->render($this->builder);
    }