Morphed AttributeRouteHelper into AttributeRouteVisitor to set up simpler container for memoizing repeated function calls.