because the other result in this function is async `this.alarm.save`