Instead of calling mp.GetEvaluation() after every parse, have .Evaluate() return an object that contains the Interpretation and result.