Добрый день.
Класс предоставляет асинхронный интерфейс.
Вопрос состоит в том, что лучше использовать об уведомлении
окончания действия:
1) callback-функция в параметре метода
public void DoSmth(Action<Result> OnDoSmth){ ... };
2) событие
public void DoSmth(){ ... };
public EventHandler<Result> DoSmthCompleted;
3) оба подхода.
Спасибо.