The omission of a setter actually seems kind of dangerous to me, so this is a step in the right direction.

At a higher level, it seems strange that we're allowing consumers to modify Alarm IDs at all. Would you agree? I don't mean to suggest that we tackle this problem (if it is a problem) for this bug, but I wanted to get your thoughts on this.