The simplest kind of migration is for event-driven objects [41,8,7,10,11]. In Charm++ runtime system, event-driven objects are normally location-independent, requiring little persistent runtime or system state. Because the entire execution state normally consists of a few application data structures and the name of the next event to run, to migrate to a new processor we need only copy these data structures to a new processor and begin executing the next event.