docs: function Message(type, contents) {
    if (false === (this instanceof Message)) throw new Error('new operator required');
    if ('undefined' == typeof type) throw new Error('message type required');
    if (!contains(Message.getTypes(), type)) throw new Error('Invalid message type: ' + type);
    this.type = type;
    this.contents = contents;
  }