public override T LoadObject <T>(string path)
 {
     try
     {
         var text     = File.ReadAllText(path);
         var yamlTree = YamlSerializer.DeserializeYamlTree(text);
         var s        = Deserialize(yamlTree);
         return((T)((object)s));
     }
     catch (Exception e)
     {
         Logger.Log(LogType.Error, "Failed to read from file: " + path, e.Message);
     }
     return(default(T));
 }