def METHOD_NAME(self, actions, because_of=None, open_result=False):
    for action in actions:
        log('Doing', action, ('needed by ' + because_of) if because_of else '')
        if action in self.done:
            log(action, 'already done')
            continue
        result_path = getattr(self, 'do_' + action)()
        self.done |= {action,}
        if open_result:
            if result_path is None:
                log('Can\'t open', action, 'result')
            else:
                uri = result_path.as_uri()
                log('Opening', uri)
                webbrowser.open(uri)