Proper return values, and strip state checks (use add_state built-in)