Merge in re-write of Exception handling from the ExceptionUpdate branch