In the visitor pattern, i want the client to only have access to the getters of the elements, while the visitors should have access to getters and setters. How would you implement it?
I don't want the visitors in the same package as the model (there are a lot of classes already). I was thinking about introducing IWriteable interface which contains setters and accept methods. Is there a better way?

Thanks