anchor.diff:    liveCSS => true
   })).
   
  +-define(ALERT(Message), jsxn:encode(#{
  +  command => alert,
  +  message => Message
  +})).
  +
   websocket_init(_TransportName, Req, Opts) ->
     {ok, Req, Opts}.
   
  
positive.code:   websocket_handle(jsxn:decode(Msg), Req, Opts);
  websocket_handle(#{<<"command">> := <<"hello">>}, Req, Opts) ->
    ok = gen_event:add_handler(?MODULE, {?MODULE, self()}, [self()]),
    {reply, {text, ?HELLO_RESPONSE}, Req, Opts};
  websocket_handle(_Data, Req, Opts) ->
    {ok, Req, Opts}.
  
  websocket_info({reload, File}, Req, Opts) ->
    {reply, {text, ?RELOAD(File)}, Req, Opts};
  websocket_info(_Info, Req, Opts) ->
    {ok, Req, Opts}.
  
  
negative.code: init([Pid]) ->
    {ok, Pid}.
  
  handle_event(Event, Pid) ->
    Pid ! Event,
    {ok, Pid}.
  
  handle_call(_, Pid) ->
  