A lightweight, object-oriented finite state machine implementation in Python