Part of the assignment specification was to have the game switch to another scene if no input has been received for a certain amount of time.

I went about this by creating an 'IdleHandler' class, which measures the amount of time it has been since receiving an input and once it has been a certain amount of time will call the appropriate event. The amount of time defaults to 30 seconds, and the default event is to change to the title screen, but these can be set separately for each scene, so the title screen switches to the demo scene, and the game scene switches to the game over scene after 60 minutes of inactivity.