switched-transitions
Easy to use state machine to manage the state of python objects and do callbacks on state changes