Added Possession Visitor, modified supporting classes