bugfix, self._action() is called twice