A JavaScript traversal framework for the FamilySearch Family Tree using the visitor pattern