Moved observatory declaration to the top to save on memory.
Use triggerOnce instead of alarmOnce.