Refactored InnerXMLElement to make it produce a bit less garbage