added DPObjectObserver