public void SendPackage(ActivityPackage package)
{
Task.Factory.StartNew(() => SendInternal(package))
// continuation used to prevent unhandled exceptions in SendInternal
// not signaling the WaitHandle in PackageHandler and preventing deadlocks
.ContinueWith((sendResponse) => PackageSent(sendResponse));
}