anchor.diff:                                     ERROR
                              end
                      end},
  -         #{desc => "monitor client",
  -           cmd  => fun(#{client := Client} = State) ->
  -                           MRef = erlang:monitor(process, Client),
  -                           {ok, State#{client_mref => MRef}}
  -                   end},
  +
  +         %% *** Termination ***
            #{desc => "order (client) terminate",
              cmd  => fun(#{client := Client} = _State) ->
  -                           Client ! {terminate, self()},
  -                           ok
  -                   end},
  -         #{desc => "await (client) down",
  +                           %% Client ! {terminate, self()},
  +                           ev_terminate(Client),
  +                           ok
  +                   end},
  +         #{desc => "await client termination",
              cmd  => fun(#{client := Client} = State) ->
  -                           receive
  -                               {'DOWN', _, process, Client, _} ->
  -                                   {ok, maps:remove(client, State)}
  -                           end
  +                           %% receive
  +                           %%     {'DOWN', _, process, Client, _} ->
  +                           %%         {ok, maps:remove(client, State)}
  +                           %% end
  +                           ev_await_termination(Client),
  +                           {ok, maps:remove(client, State)}
                      end},
            #{desc => "close socket",
              cmd  => fun(#{sock := Sock} = State) ->
  
positive.code:                                    ERROR
                             end
                     end},
           #{desc => "order (client) continue",
             cmd  => fun(#{client := Client} = _State) ->
                             Client ! {continue, self()},
                             ok
                     end},
           #{desc => "await (client) ready (2)",
             cmd  => fun(#{client := Client} = _State) ->
                             receive
                                 {ready, Client} ->
                                     ok
                             end
                     end},
           #{desc => "verify self as controlling-process",
             cmd  => fun(#{sock := Sock} = _State) ->
  
negative.code:                            Sock = sock_open(Domain, Type, Protocol),
                             {ok, State#{sock => Sock}}
                     end},
           #{desc => "monitor client",
             cmd  => fun(#{client := Client} = _State) ->
                             _MRef = erlang:monitor(process, Client),
                             ok
                     end},
  
           %% *** The actual test ***
           #{desc => "verify self as controlling-process",
             cmd  => fun(#{sock := Sock} = _State) ->
                             Self = self(),
  