Towers and the HQ should handle defense in much the same way, and the implementation should be shared somehow.
It makes sense to me that HQs and Towers should have the ability to coordinate their own defense. For example, I could see a handful of soldier units being maintained at each of these structures as a small "defense force". The consideration for this ticket would be that HQs and Towers would identify and broadcast their "targets" for focus fire from those other, nearby units. This would be communicated through the communicator, a "setSquadTarget(some kind of identifier)" call - barring objection, I will propose this in the first Communicator ticket.
Thoughts on prioritizing targets? Can we do "most supplies"? Does that make sense? Otherwise, lowest health makes sense to me.
The attacking structures are Towers and HQs. This should be included in their "_run" calls.