adds additional methods / classes solely to improve the readability of the code

Shouldn't this method instead be in `NonlinearProgramWConstraintObjects`?