moved logic for the session listeners into the HttpKernel component