Temporary states are used transitionally in run-time situations and are
unknown to the object database. A temporary state is created if, when an object
is performing a requested event, interim work needs to be performed before the
object reaches a permanent destination state. Use of a temporary state is transparent
to the caller of the requested event.