code: def _visible_units(self):
      for u in sorted(self._obs.observation.raw_data.units,
                      key=lambda u: (u.pos.z, u.owner != 16, -u.radius, u.tag)):
        yield u, point.Point.build(u.pos)