Visitor Pattern Skeleton