need to start hooking up events, start with gameobject OnDeath. Make Level subscribe to gameobject OnDeath, that way Level can hold deaths / kills, and GameDirector can monitor it.
AiDirector dispenses enemies based on waves. Waves are state machines (OnStart, Update, OnEnd). Waves are loaded from files. Should be able to handle spawns (enemy type, qty) which can be all-at-once, or dispersals (disperse over time period). OR, waves are loosely defined with # of each type of enemy and total time, and we let randomness decide how things play out.
Use the menu to select a level, have the game director spit out some enemies, and evaluate a win condition.