Finite state machines and statecharts

FicusJS provides a set of functions for extending components to use finite state machines and statecharts.

What is a finite state machine?

A finite state machine is an alternative way of modeling program state; instead of defining independent variables, a machine is crafted specifically to handle what states are possible, and when a machine is a given state, what next state is allowed.

What are statecharts?

Statecharts are the "bigger brother" of state machines, designed to overcome the limitations of state machines. A statechart is essentially a state machine that allows any state to include more machines, in a hierarchical fashion.

Find out more

You can find out more about state machines and statecharts at