Refactored HtmlElementFactory to use an interface that is exposed via IHtmlPage.