Extract AlarmModel into separate source file
One class per header/source file is a good rule of thumb. There are exceptions, but I don't think this is one of them.
This makes navigating the code easier since you can assume the file name based on the class name