Bistate Pattern
A bistate is an object that can typically be in one of two states and can
change between them. A typical example of a bistate is a switch that can be
either off or on. The bistate is controlled by two actions a turn_on action and a turn_off
action. A bistate is a form of linear machine where the machine forms a sequence
of states that can be traversed in either direction.