rewrite RefCountedPtr
introduce CIMIndicationListener