I think we should change the interface to have XmlSerialize() and XmlDeserialize()