updated scene listener to handle various events