Loading agents from scenario should create objects that are not dicts but instead dataclasses. It is difficult to know what should be in the agent config if a user wants to create their agents in code, so having dataclasses makes it easier to use from a user perspective.
AgentConfig already exists in the scenario but is not used.
Should be implemented but is a breaking changes.