_state is freaking me out, just store it in self.state and move on with life