log unhandled execeptions
only create synchronizationcontext when not set
propagate exception from async methods