<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _reset_state(self):
 """ State flags. These hold the time of the change in the particular state, or None if there has been no such state change yet. starting - Indicates the task is in the process of starting. This flag inhibits further startup attempts. started - Indicates the task has been fully started. As long as this is not a "once" task, other tasks that require this task may now start. stopping - Indicates the task has commenced stopping. It is set immediately for "once" tasks (they are effectively stopping as soon as they start), and for other tasks when the task's stop() method has been called. The stop() method is called when the legion receives a signal to shutdown, and during legion configuration changes where it is determined that the process characteristics might have changed (command line, environment, etc). terminated - Indicates the task default stop mechanism has been triggered. Tasks that are "stopping" but not "terminated" are generally "once" tasks. This also softens the log message when the process actually exits. Unexpected process exits will be flagged with a warning message instead of the usual info message. killed - Indicates the task default stop mechanism has not terminated all processes in the task, and the mechanism has been escalated to kill. stopped - Indicates that all processes in the task have terminated and the task is now completely stopped. Only valid if "starting" is set. dnr - Indicates that this task is scheduled for destruction. Once all processes have stopped, it should delete itself. limit - Time after which this task should be stopped. """

        self._starting = None
        self._started = None
        self._suspended = None
        self._stopping = None
        self._terminated = None
        self._killed = None
        self._stopped = None
        self._dnr = None
        self._limit = None