anchor.diff:  
       %% Start the test procs used in the test-case, one for each node
       p("start command handlers"),
  -    Server = server_start_command_handler(ServerNode, ServerCmds),
  +    %% Server = server_start_command_handler(ServerNode, ServerCmds),
  +    Server = ?CH:start(ServerNode, ServerCmds, #{}, "server"),
       p("server command handler started: ~p", [Server]),
  -    Client = client_start_command_handler(ClientNode, ClientCmds),
  +    %% Client = client_start_command_handler(ClientNode, ClientCmds),
  +    Client = ?CH:start(ClientNode, ClientCmds, #{}, "client"),
       p("client command handler started: ~p", [Client]),
   
       await_server_listening(Server, Client),
       
  -    await_command_handler_completion([Server, Client], timer:seconds(20)),
  +    %% ok = await_command_handler_completion([Server, Client], timer:seconds(20)),
  +    ok = ?CH:await_completion([Server, Client], ?SECS(20)),
       p("done"),
       ok.
   
  
positive.code:   when (Handle =/= undefined) ->
       megaco_tcp:close(Handle),
      {ok, State#server{handle = undefined}};
  server_disconnect(#server{handle = Handle} = State) 
    when (Handle =/= undefined) ->
       megaco_tcp:close(Handle),
      {ok, State#server{handle = undefined}}.
  
  server_stop_transport(#server{transport_ref = Ref} = State) 
    when (Ref =/= undefined) ->
  
negative.code:     Opts = [{port, Port}], 
      Self = self(),
      [
       #{id   => 1,
         desc => "Command sequence init",
         cmd  => fun(State) -> 
  		       {ok, State#{parent => Self}} 
  	       end},
  
       #{id   => 2,
         desc => "Start transport",
         cmd  => fun(State) -> 
  		       server_start_transport(State) 
  	       end},
  
       #{id   => 3,
         desc => "Listen",
         cmd  => fun(State) -> 
  		       server_listen(State, Opts) 
  	       end},
  
       #{id   => 4,
         desc => "Notify listening",
         cmd  => fun(State) -> 
  		       server_notify_listening(State) 
  	       end},
  
       #{id   => 5,
         desc => "Await initial message (ping)",
         cmd  => fun(State) -> 
  		       server_await_initial_message(State, "ping", 5000) 
  	       end},
  
       #{id   => 6,
         desc => "Send reply (pong) to initial message",
         cmd  => fun(State) -> 
  		       server_send_message(State, "pong") 
  	       end},
  
       #{id   => 7,
         desc => "Await nothing before sending a message (hejsan)",
         cmd  => fun(State) -> 
  		       server_await_nothing(State, 1000) 
  	       end},
  
       #{id   => 8,
         desc => "Send message (hejsan)",
         cmd  => fun(State) -> 
  		       server_send_message(State, "hejsan") 
  	       end},
  
       #{id   => 9,
         desc => "Await reply (hoppsan) to message",
         cmd  => fun(State) -> 
  		       server_await_message(State, "hoppsan", 1000) 
  	       end},
  
       #{id   => 10,
         desc => "Await nothing before disconnecting",
         cmd  => fun(State) -> 
  		       server_await_nothing(State, 1000) 
  	       end},
  
       #{id   => 11,
         desc => "Disconnect",
         cmd  => fun(State) -> 
  		       server_disconnect(State) 
  	       end},
  
       #{id   => 12,
         desc => "Await nothing before stopping transport",
         cmd  => fun(State) -> 
  		       server_await_nothing(State, 1000) 
  	       end},
  
       #{id   => 13,
         desc => "Stop",
         cmd  => fun(State) -> 
  		       server_stop_transport(State) 
  	       end}
  
      ].
  
  