anchor.diff:    % New API:
     ets:new(webcmd, [named_table, {read_concurrency, true}]),
   
  -  % Binary, Mod, Function, Params, SendClient?
  -  ets:insert(webcmd, {<<"login">>, tarabish_server, login, [name], false}),
  -
  -  ets:insert(webcmd, {<<"get_tables">>, client, get_tables, [], true}),
  -  ets:insert(webcmd, {<<"sit">>, client, sit, [table_id, seat], true}),
  +  % Funcation, Mod, Params, SendClient?
  +  ets:insert(webcmd, {login, tarabish_server, [name], false}),
  +  ets:insert(webcmd, {get_tables, client, [], true}),
  +  ets:insert(webcmd, {sit, client, [table_id, seat], true}),
   
     % TODO: setup as application as use priv_dir
     {ok, Cwd} = file:get_cwd(),
  
positive.code:   ok.
  
  % Client method with no client:
  handle_method([{_Binary, _Mod, _Fun, _Params, true}], Data, undefined) ->
    io:format("Bad call, no client~n"),
    % TODO: return an error
    ok;
  
  handle_method([{Binary, Mod, Fun, Params, NeedClient}], Data, Client) ->
    % TODO: handle error
    {ok, Args} = get_args(lists:reverse(Params), Data),
    Args2 = case NeedClient of
  
negative.code:   Method = proplists:get_value(method, Data),
    io:format("Method: ~p~n", [Method]),
    % TODO: Send error event if this fails:
    try binary_to_existing_atom(Method, utf8) of
      MethodAtom ->
        handle_method(ets:lookup(webcmd, MethodAtom), Data, Client),
        {ok, Req, State}
    catch
      error:badarg -> {ok, Req, State}
    end;
  
  websocket_handle(_Data, Req, State) ->
    {ok, Req, State}.
  