code: def sectionWalker(section,callback,*args,walkTrace=tuple(),**kwargs):
          
          callback(section,*args,walkTrace=walkTrace,case='sectionmain',**kwargs)
          c = count(1)
          for f in section.figs.items():
              callback(section,*args,walkTrace=walkTrace,case='figure',element=f,**kwargs)
          c = count(1)
          for t in section.tabs.items():
              callback(section,*args,walkTrace=walkTrace,case='table',element=t,**kwargs)
          c = count(1)
          for s in section.subs:
              Section.sectionWalker(s,callback,*args,walkTrace=walkTrace+(next(c),),**kwargs)
docs: callback needs to be a function that handles different 
          Section elements appropriately
          walkTrace needs to be a tuple, indicate the route to the section, e.g. (1,2,0)