I see you're defining a complete alarm API. Can we extract this from Common and isolate inside its own module? It should be better for testing as well.