making MessageEvent.message a union. closes #16