is there reason to store std::string when you need only pass such type to restore method? Maybe simple `const char*` is enough