So, you have several functions that do asynchronous things, and this makes things difficult to follow.

If I understand correctly, here is what we need to do when getting a request by IAC:
* get the current usage from async storage
* add the alarm
* set the current usage in async storage
* return a result using IAC

Each of these steps should be in its own function, and return a Promise.

Then, you'd only need to chain them, possibly catching rejected promises using .catch() (because if I understood correctly, adding the alarm could fail, and in that case we never clean up (?). Is that really what we should do or should we instead not add the blacklist in that case?).