package Ġchat . wil low . hop per . websocket . messages Ċ Ċ import Ġchat . wil low . hop per . routes . I String Serial iser Ċ import Ġcom . squareup . mos hi . M oshi Ċ Ċ interface ĠWebSocket Typed Message Ġ{ ĊĠĠĠ Ġval Ġtype : ĠString Ċ } Ċ Ċ interface ĠWebSocket Message Serial ising < in ĠT > Ġ{ ĊĠĠĠ Ġval Ġserial iser : ĠI String Serial iser < WebSocket Message < T >> Ċ } Ċ Ċ data Ġclass ĠWebSocket Message < out ĠT >( val Ġtype : ĠString , Ġval Ġpayload : ĠT ) Ċ Ċ val ĠWEB SOCKET _ PAYLOAD _ MO SH I : ĠM oshi Ġ= ĠM oshi . Builder (). build ()