public function add(BuilderInterface $builder)
    {
        if (method_exists($builder, 'getName')) {
            $name = $builder->getName();
        } else {
            $name = bin2hex(random_bytes(30));
        }

        $this->bag[$name] = $builder;

        return $name;
    }