NodeIterator seems clean now.
Started splitting off the attribute iterator into its