Transitions is a lightweight, object-oriented state machine implementation in Python with many extensions.