move problem.prefer_names to Problem methods to make Problem self-contained