Method push() from interface IPushRequest allows a migrated object to re-hop to another remote machine. However, this non-blocking request is fulfilled only after completion of an executing trigger. Method isRetractionSet() is used to check the status of retraction flag which is settable from originating application code as discussed above. In addition to these two methods, a migrated ARC object may register itself for remoting through RegisterForRemoting immediately after migration, and unregister just before migration or retraction. These member functions are available for an ARC object, and their use is optional.