copied EventedObject 3.1.