//CONS:Method extensions helps, but anyway async implementation more complicated.
 //CONS:Result property makes command barely shared in multi-threaded environment.
 public async Task PostAsync(AddUserRequest request) => await AddUserAsync.ExecuteResult(request);
 public void Post(AddUserRequest request) => AddUser.Execute(request);