Wouldn't it be cool if instead of checking explicitly for a leading '_' during traversal,
you ran a method "isTraversable" (On SimpleItem for instance), which by default
just checks for a leading '_', but could be overridden in a particular class?
 
Dan