1. A method comprising: receiving a notification of at least one application event from an application, the application event occurring in response to a user input to the application, and the notification comprising an event type and at least one application context related to the application event; receiving a time value associated with the application event; converting, using a processor, the notification and the time value into an entry in an input log; receiving a selection of at least one notification stored in the input log; extracting one or more notifications and time values from the input log, wherein extracting the one or more notifications and time values comprises skipping the selected notification; determining an event and an event context for execution based on the one or more extracted notifications and time values; generating an instruction for the application comprising the event and the event context; and sending the event to the application for execution.