When these declarations are built without the help of the special builder class, it's much more convenient to set them directly rather than with a constructor, etc. In most other situations the declarations should be const anyway, so theoretically this doesn't affect safety too much. Most construction of declarations should still use the builder.