Refactor visitor hierarchy
Refactor visitor InterfaceSegregation