Will it make any difference? It is possible to create a target with this solution? For example:
Unit * target = DoCast (...)