docs: def reset(self):
          """
          Reset the state of the environment and returns an initial observation.
  
          Returns:
              state (np.ndarray): next frame as a result of the given action
  
          """
          # call the before reset callback
          self._will_reset()
          # reset the emulator
          if self._has_backup:
              self._restore()
          else:
              _LIB.Reset(self._env)
          # call the after reset callback
          self._did_reset()
          # set the done flag to false
          self.done = False
          # return the screen from the emulator
          return self.screen