This is not the correct-est way of doing this, but it does make a bunch of things simpler for now. We can revisit tag name case later on. :^)
We now have create_element(document, tag_name) in ElementFactory. This will be useful for constructing new elements outside of parsing.