public static KeyValuePair <IUpdateManifest, string> Retrieve(UpdateManifestType manifestType, string manifestPath)
        {
            IUpdateManifest manifest = null;

            if (manifestPath == null || manifestPath == string.Empty)
            {
                manifestPath = GitHubUpdateManifestFileName;
            }

            if (manifestType == UpdateManifestType.GitHub)
            {
                manifest = SerializerFactory.GetInstance().Load <GitHubUpdateManifest>(manifestPath);
            }
            else
            {
                throw new ArgumentException("Manifest type '" + manifestType + "' is not yet handled.");
            }

            return(new KeyValuePair <IUpdateManifest, string>(manifest, manifestPath));
        }