Fixes to listeners

Should no longer be able to register as listener multiple times.