Do we need a structure ManifestData to save parsed data from manifest handlers? The application should be able to access manifest data from the specified key.  
struct ManifestData;
typedef std::map<const std::string, linked_ptr<ManifestData> >
      ManifestDataMap;
GetManifestData(const std::string& key);
SetManifestData(const std::string& key, Application::ManifestData* data) .