ControlEventListener has only static properties, and there doesn't seem to be any reason why we need more than one instance of it, so why do we have a dozen instances of it? Couldn't we just have one instance loaded from only one web.xml file? The same would be true of LoginEventListener.