1. A computer-implemented method comprising: displaying a statechart on a display in response to user input, wherein the statechart comprises a plurality of state icons connected by connector elements, wherein the state icons represent states and wherein the connector elements represent transitions between the states; displaying a graphical user interface enabling a user to select from a plurality of event modes for the statechart, wherein the plurality of event modes includes a synchronous mode and an asynchronous mode; receiving user input selecting an event mode from the plurality of event modes, wherein the selected event mode is one of the synchronous mode or the asynchronous mode, wherein the selected event mode controls whether the statechart receives trigger events from an external software program synchronously or asynchronously; storing information indicating the selected event mode; and executing the statechart, wherein said executing comprises: if the selected event mode is the synchronous mode, the statechart receiving one or more trigger events from the external software program and processing the one or more trigger events within a deterministic time interval relative to when the trigger events were received; if the selected event mode is the asynchronous mode, the statechart receiving one or more trigger events from the external software program via an event queue associated with the statechart.