[improvement] Optimized ProblemPresenter and the problems API (25m)