fixed ring event, added hold, retrieve, waiting event emission