anchor.diff:    receive
         {browser, Data} ->
             %?debugVal({"ws:browser", Data}),
  -          wsManager ! {send, Ws:get(path), Data},
  +          hookManager ! {Ws:get(path), Data, self()},
             handle_websocket(Ws);
         closed ->
             wsManager ! {del, Ws:get(path), self()},
  
positive.code: -module(shirasu).
  -author('ENDOH takanao <djmchl@gmail.com>').
  -export([start/0, stop/0, boot/0, cfg/1, cfgManager/1, handle_websocket/2, wsManager/0]).
  
  -include_lib("eunit/include/eunit.hrl").
  %?debugVal(),
  
negative.code:     Any ->
        ?debugVal(Any)
    end.
  
  hookManager() ->
    register(hookManager, self()),
    process_flag(trap_exit, true),
    hookManager([]).
  hookManager(Hooks) ->
    receive
      {add} ->
        pass;
      {del} ->
        pass;
      {Path, Data, _Pid} ->
        wsManager ! {send, Path, Data},
        pass;
      stop ->
        exit(normal);
      Any ->
        ?debugVal(Any)
    end,
    hookManager(Hooks).
  