#pragma once class Command; class CommandSender; class CommandDispatcher { private: std::unordered_map commandsById; std::unordered_set commands; public: int performCommand(std::shared_ptr sender, EGameCommand command, byteArray commandData); Command* addCommand(Command* command); };