I think it's confusing to call this a direction when it has a magnitude.  Especially when we have other directions (custom sensor directions) that can't have magnitudes.  I think I'd just call it a vector, not a direction.  Is it too weird to have a `vector` property inside a `vector`?