this made me look into how the `getAlarms` is implemented.. because if it cached the result (always returned same object for that index) this would always be `false` - objects are passed by reference and `alarm.enabled` would reflect latest value.

caching the `alarm.enabled` value makes code easier to reason about (even if object was cached code would still work as expected).