def handle(self, *arguments, **options):
        """
        Parses arguments and options, runs validate_<action> for each action
        named by self.get_actions(), then runs handle_<action> for each action
        named by self.get_actions().
        
        """
        self.arguments = arguments
        self.options = options
        self.arguments = self.parse_arguments(arguments)
        self.options = self.parse_options(options)
        
        for name in self.get_actions():
            validate = getattr(self, "validate_{name:s}".format(
                name=name), None)
            if validate is not None and isinstance(validate, collections.Callable):
                validate(*arguments, **options)
        for name in self.get_actions():
            handle = getattr(self, "handle_{name:s}".format(
                name=name), None)
            if handle is not None and isinstance(handle, collections.Callable):
                handle(*self.arguments, **self.options)
Parses arguments and options, runs validate_<action> for each action
        named by self.get_actions(), then runs handle_<action> for each action
        named by self.get_actions().