(...and remember Perl's Motto: "There's more than one way to do it" per [[Larry Wall|Larry]])
The Running Kernel operates through primordial [[finite-state machine]]s constructed from another set of abstractions ruled by the '''POE::Session''' architecture. A POE::Session is almost trivially defined as a map of events to the functions, class [[Method (computer scienceprogramming)|methods]], and/or object methods that handle them. POE::Session objects also contain a storage space shared by all its event handlers, called a [[heap (programming)|heap]]. Any way you slice them the states are solidly identified and clearly defined.
A more featureful [[event handler]] is a POE::Session subclass called '''POE::NFA''' - an event-driven [[Nondeterministic finite Automatonautomaton]] (a ''smarter'' finite state machine). This event handler moves from one strictly defined state to another as events, polls, user selections, or other external events require. This [[finite-state machine|state machine]] acts to encapsulate a wide range of generic [[Event-driven programming|event driven]] [[thread (computer sciencecomputing)|threadthreads]]s allowing much tighter tracking along the [[execution path]] than the relatively informal POE::Session.