Visitable and visitor protocols