1. A method performed by an electronic device having a display, one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising: in response to a triggering event, initializing an animation object with one or more respective initialization values corresponding to the triggering event, the animation object comprising an instance of a predefined animation software class; at each of a series of successive times: updating the animation object so as to produce a respective animation value in accordance with a predefined animation function, wherein the predefined animation function comprises a combination of a primary function of an initial velocity and a deceleration rate and one or more secondary functions; updating a state of one or more user interface objects, each updated user interface object being updated in accordance with the respective animation value from the animation object; and rendering on the display a user interface in accordance with the updated state of the one or more user interface objects.