2 - Context: AIPlayer, Suggester;
4 - ConcreteStrategy; ThreatSearchAI, CCThreatSearchAI
7 - Creator: ThreatSearchAI (FactoryMethod(): createThreat())
17 - AbstractClass: ThreatSearchAI (TemplateMethod(): move() calls defenseHook())
18 - ConcreteClass: CCThreatSearchAI (may override defenseHook())
20 - TemplateMethod(): Threat::insert() calls insertHook()
21 - ConcreteClass may override insertHook()