Offline messaging

This should, I think, have everything requested by you @Zarel, so it should be ready to go whenever you deem suitable
[Array.prototype.unshift](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift)?