protected void AddGame(Game game)
{
if (game == null)
throw new ArgumentNullException("game");
if (GamesMutable.Contains(game))
throw new ArgumentException(game.Name + " is already added to this " + Name + ".");
if (game.Engine != this)
throw new ArgumentException(game.Name + " does not have this " + Name + " as its Engine.");
GamesMutable.Add(game);
}