Both methods take the same arguments. Indeed, looking at the two classes, they're both virtually identical.
They both use model.n_parameters() to check that the user has provided an object of which outputs the correct dimensions. By the same token, couldn't we just use model.n_outputs() in a single OutputProblem method to determine whether it's a single or multiple output problem internally (so a user doesn't have to specify this)?