MHEG-5 is an object-based declarative programming language which can be used to describe a presentation of text, images and video. An MHEG-5 application consists of a number of "Scenes" which the user of the application can move between. Each "Scene" lists the items of text and graphics to be presented and can contain blocks of procedural code which are executed in response to one of a predefined set of events such as keys being pressed, timers firing or content being successfully loaded into memory. These blocks of code consist of "elementary actions" which can perform operations such as changing the text displayed by a text object, or starting a video clip playing.