An agent key property (Agent.AgentClassName.key) is available for tracking scorecards. It identifies an agent uniquely so that its scorecard can be restored from the cache.
Unlike messages received from a queue, messages sent on a topic are received by all agents that actively listen to the topic. Each agent generates its own event instance (with its own ID) when receiving the message. While it could be useful for multiple agents to receive events sent on a topic, this often leads to undesirable results. Care must be taken to ensure that just one agent receives topic-based messages.