Remove unnecessary on/removeListener, use .once instead