Add listener cleanup