Refactored to have a Program with different Analyzers rather than an Analyzer with different Visitors.