object(ObjectOne)#2 (1) { ["x"]=> int(2) } int(2) int(3) Overloaded::__set(y,3) int(3) Overloaded::__get(y) int(3) Overloaded::__set(z,Object) object(ObjectOne)#3 (1) { ["x"]=> int(4) } Overloaded::__get(z) int(4) Overloaded::__get(z) int(5) Overloaded::__get(z) int(6)