ANSWER:
B:
PublicNotCreatable is used to create dependent objects because they allow objects to be used outside of the component, but they must be created within the application.
Answers in Depth...