both the async flag and the listeners list must be cleared

even if there is no data (empty/missing object)