Would be nice to maybe think about default reset methods for certain rules often I end up writing ``` def reset(): tmp = self.state.copy() self.state.clear() return tmp ``` Perhaps a `ListStateRule` or `DictStateRule` etc. that already sets `self.state = []`