simplify queued listener implementation