Fixed: Changed Visitor to an interface and added missing methods.