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...