add refcounting for VsyncObserver