correctly implement add/exit/empty completion events