Super simple category for NSObject that adds a tiny state machine.