rework ai target system, unify it under a single base class