Add argument validation in Listener constructor