What do we win by keeping these separate? IsValid is only meaningful for actor targets, and I can't think of any cases where accessing target.Actor when IsValid is false isn't a bug.