def METHOD_NAME(self, operation, service):
    if not service:
        service = self.service_name
    if base.snap:
        service = os.environ['SNAP_NAME'] + '.' + service
    try:
        if base.snap:
            cmd_list = [base.snapctl, operation, service]
            if operation == 'start':
                cmd_list.insert(-1, '--enable')
            self.run(cmd_list, None, None, True)
        elif base.systemctl:
            local_script = os.path.join(Config.distFolder, 'scripts', service)
            if os.path.exists(local_script):
                self.run([local_script, operation], useWait=True)
            else:
                self.run([base.service_cmd, service, operation], useWait=True)
        elif (base.clone_type == 'rpm' and base.os_initdaemon == 'systemd') or base.deb_sysd_clone:
            self.run([base.service_path, operation, service], None, None, True)
        else:
            self.run([base.service_path, service, operation], None, None, True)
    except:
        self.logIt("Error running operation {} for service {}".format(operation, service), True)