It occurs to me that #1 wouldn't solve the problem where listeners are getting repeated. Dang.