Rework visitor patterns to use tooling actions and preprocessor callbacks