Task 13: Visitor Pattern