discovered and fixed theoretical bug: OnAsyncMessageSent is not invoked when "completed" action is null. Added "Sent" field to SentMessageEventArgs