1. A data processing system comprising: a processor, a data storage device, a user interface, a memory, the processor comprising an event engine storing an object class for each type of transaction for an entity, and the event engine instantiates a discrete event object having object software code methods from the object class for each transaction in real time; wherein the event engine stores a class framework comprising a hierarchical structure of object classes including a parent class acting as a container for all event classes associated with a particular entity; wherein the event engine automatically generates an effective time value for each event object as it is instantiated; wherein said effective time value is the time for when the event first affects the associated entity; wherein the event engine automatically determines a modified effective time to ensure machine-level uniqueness of the effective times of all event objects for an entity, whereby events are executed in series; wherein said modification adds an extension to an initial effective time according to an event priority value; wherein the event engine further comprises a batch function for monitoring status of the event objects; wherein the batch function rolls back events by processing multiple event objects according to their effective times; wherein the batch function groups events according to entity; wherein the batch function performs rollback and rollforward by issuing rollback and rollforward instructions to event objects according to their effective times, and the instructed event objects generate outputs according to their software code methods in sequence; wherein the batch function inserts an event object into an entity with an effective time earlier than the current time and determines the effect on the entity by rolling back to a time immediately before the effective time of that event object and by rolling forward to the current time; wherein the batch function classifies events as either internal or external and regenerates only internal events during a rollforward in which internal events are automatically triggered by the processor and external events are triggered by a user or external system; wherein the event engine automatically generates an effective time value for each event object as it is instantiated, and wherein the effective time is with respect to a timeline of a parent event object, said timeline being an attribute of the parent event object; wherein the scenario engine comprises a state machine; and wherein the scenario state machine tags each event object having a proposed effective time so that they are kept separate from live event objects.