DocumentProvider
object is used to provide event reader implementations for DOM. Wrapping the mechanics of the DOM framework within a Provider
ensures that it can be plugged in without any dependencies. This allows other parsers to be swapped in should there be such a requirement.