type Event = Opened ({ name : Name, meta : Websockets.Meta.Meta }) | Closed ({ name : Name, meta : Websockets.Meta.Meta, reason : String }) | Error ({ name : Name, meta : Websockets.Meta.Meta, error : Maybe String }) | Message ({ name : Name, meta : Websockets.Meta.Meta, data : String })