make HostRawElementProvider virtual
introduce ChildProvider class
that formatting was bothering me
logic around whether or not a Header child is added
push FirstChild default behavior into AutomationProvider
headers can be lazily loaded
header providers have the correct control type
a Header has a HeaderItem
header knows the last child
refactor header test
header items know about their next sibling
header items know about their previous sibling
header items have correct control type; passing header spec