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.