code: def is_valid(self, context):
          
          if self.requires:
              for r in self.requires:
                  if not r in context.executed_actions:
                      raise RequirementMissingError("Action '%s' requires '%s'" % (self.name, r))
          return True
docs: Checks through the previous_actions iterable if required actions have
          been executed