public:
Director();
+
+ EventBus &get_event_bus() { return event_bus; }
+ EventSource &get_event_source() { return event_source; }
+ const std::vector<std::unique_ptr<Stage>> &get_stages() const { return stages; }
+
Stage &create_stage();
void activate_stage(Stage &);
+ Stage *get_active_stage() const { return active_stage; }
void tick();
};