public virtual IAgentUpdateInfo AddAgent(IAgent agent, int level, IPlayer owner) { var deck = this.Players[owner]; agent.Initialise(deck); var firstNode = this.Nodes.First.Value; var ret = new AgentUpdateInfo(agent) { Action = AgentAction.None, Id = Guid.NewGuid(), Level = level, Owner = owner, Stack = 27 }; this.Agents.Add(agent, ret); return ret; }