Collects problems that are encountered during model building. The primary purpose of this component is to account for
the fact that the problem reporter has/should not have information about the calling context and hence cannot provide
an expressive source hint for the model problem. Instead, the source hint is configured by the model builder before
it delegates to other components that potentially encounter problems. Then, the problem reporter can focus on
providing a simple error message, leaving the donkey work of creating a nice model problem to this component.