abstract this into a discrete method since it's used twice with same args: `this._dispatchAlarmChange(alarm)`