This is generally the way we do it across our code. I agree the code would be nicer if either the signal returned the specific UAVO class, or if a signal existed that didn't send the UAVO at all.