Added XmlSerializable interface and XmlSerialize trait