If you change this to a `self._is_recording = False`, then you can initialize it to True at the start of the `record_waypoints()` and then check it's state in the Signal callbacks.

Then again, that might be overkill...