nextMessage() {
            return new Promise(resolve => {
                let fn = (msg) => {
                    this.removeMessageHandler(fn);
                    resolve(msg);
                };
                this.addMessageHandler(fn);
            });
        }
Wait for the next ``postMessage`` message and return it
(after passing it to existing handlers)

@returns {Promise} - Promise that resolves to the message.