Flash’s ActionScript scripting language enables creation of interactive movie content. Events such as clicking a button, reaching a certain frame, or loading a movie can execute code to dynamically change movie content, control the flow of the movie, and even launch additional movies. ActionScript is powerful enough to create full mini-games entirely in Flash. Like most programming languages, ActionScript supports variables and subroutines. Scaleform provides a C++ interface to directly manipulate ActionScript variables and arrays, as well as directly invoke ActionScript subroutines. Scaleform also provides a callback mechanism that enables ActionScript to pass events and data back to the C++ program.