toString should return std::string instead of const char*.