A cascadable state machine that observes the execution state machine of
multiple client applications, aggregates the multiple execution states
into a single execution state for the observation object, reports the
aggregate execution state through the same execution state machine
interface as the client applications, and cascades changes to the
execution state machine of the observation object to the client
applications.