event(chat) -> wf:send(chat, wf:q(message)),
body() ->
wf:async(fun() -> loop() end,chat),
[ #panel{id=history}, #textbox{id=message}, #button{postback=chat}].
loop() ->
receive
Message ->
wf:insert_bottom(history, #span{text=Message}),
wf:flush()
end,
loop().